linux-howto:bash
Ceci est une ancienne révision du document !
Table des matières
Bash Scripting
Introduction
Quelques exemples de scripts - ou de lignes commandes - shell pour répondre à quelques problèmes fréquemment rencontrés.
Les variables spéciales
| Variable | Description |
|---|---|
| $# | Nombre d'arguments passés au script |
| $* | Liste des arguments |
| $0, $1, $2, … | Arguments passés au script ($0 = nom du script) |
| $? | Code de retour dernière commande |
| $! | pid de la dernière commande lancée en tâche de fond |
| $$ | pid du script |
# Tester le résultat d'appel d'une fonction / commande # Par défaut : 0 = ok if [ $? -eq 0 ]; then echo "ok" else echo "pas ok" fi
Les fonctions
Sans paramètres
#!/bin/bash
function quit() {
exit
}
function helloworld() {
echo Hello World!
}
helloworld
quit
# "quit" quitte, le code ci après n'est pas exécuté
echo done ...
Avec paramètres
#!/bin/bash
function say() {
echo $1
}
say "Hello World!"
Liens
Extraire le nom ou le répertorie d'un fichier
# Première méthode basée sur dirname et basename f=/mypath/myfile.txt dirname $f # /mypath basename $f # myfile.txt basename $f .txt # myfile
Renommer des fichiers
# Sur base d'une boucle for i in *.JPG; do echo $i; done
$i contient le nom du fichier. Sur base de cette variable nous pouvons appliquer quelques changements, copier ou renommer des fichiers.
# Exemple d'utilisation d'une variable
i=ma_photo.JPG
echo $i
ma_photo.JPG
# Supprression d'une partie du nom du fichier
echo ${i/.JPG/}
ma_photo
Cas pratique : ajout d'un “_” avant l'extension du fichier. Exemple : PICT0001.JPG devient PICT0001_.JPG
for i in *.JPG; do mv $i ${i/.JPG/}_.JPG; done
Fichiers de paramètres
linux-howto/bash.1325407157.txt.gz · Dernière modification : 2012/01/01 09:39 de thierry
