ptions et de leur argument saisis sur la ligne de commande du script.
Le détail du fonctionnement de **geto... * copie une option et son argument de la ligne de commande et les place dans des variables de travail. La bo... permet d'appeler autant de fois que nécessaire la commande **getopts** afin de parcourir l'ensemble des arguments de la ligne de commande.
La commande **case** permet d'associer le compo
és à ces descripteurs.
===== Redirection sur une commande =====
Les exemples ci-dessous permettent de redi... er la sortie standard et la sortie d'erreur de la commande dans un fichier:
<code bash>
command > "/path/to... st possible d'utiliser la primitive **exec** sans commande en argument. La documentation détaille le fonctionnement de la primitive qui sans commande spécifiée applique les redirections sur le shell
hell interactif lorsque l'utilisateur invoque une commande ou un autre script, un nouvel environnement est c... rc ajouter une variable
* Invoquer une nouvelle commande et vérifier la présence des variables
===== La commande test =====
La commande **test** intègre une option intéressante **-t** permettant de vérifier si un descri
ne colonne vers une ligne.
===== echo =====
La commande echo lorsqu'elle reçoit en argument une chaîne de... mplacer les caractères NL par des espaces avec la commande **tr**:
<code bash>
$ cat data_in_column.txt | tr... e>
===== awk =====
Reformater à l'aide de la commande **awk**:
<code bash>
cat data_in_column.txt | a
ossier depuis un script Bash, on peut utiliser la commande **stat** avec l'option **%%--format%%** qui perme... sous forme octale:
<code bash>
# Le retour de la commande ls est adapté au mode interactif
ls -l /tmp/aFile... yoann yoann 0 janv. 17 14:12 /tmp/aFile.txt
# La commande stat peut retourner la valeur octale résumant les
script on peut activer/désactiver l'option via la commande interne **set**:
<code bash>
# Activer l'affichag...
| set -x | set -o xtrace | Affiche la commande avant execution. |
| set -u | s
placer **tous les fichiers** d'un dossier avec la commande **mv** même les fichiers cachés, on peut donc uti... rs cachés, tous les fichiers sont déplacés par la commande mv.
===== Utiliser le développement entre accola
elancer une phase de substitution on utilisera la commande **eval**. On indique au shell que le premier cara... le HOME avant de faire l’exécution de la ligne de commande:
<code bash>
eval echo \${$repertoire}
/home/yo
d’exécution.
Décomposer les traitements, chaque commande s’exécute dans un sous process. Il est plus écono... urs commandes via pipes. A chaque lancement d'une commande le shell exécute un fichier de configuration (pou
doubles dans les scripts bash et sur la ligne de commande.
Notons qu'on ne peut pas placer de guillemet s... le développement des noms par le shell
# c'est la commande find qui interprete
find . -type f -iname "*.sh