HelloBash Ep3

From Tmplab
Revision as of 00:51, 13 November 2019 by Alban (talk | contribs) (Gestion des arguments et des options)

Retour à la liste des épisodes

Ecrire et exécuter des scripts

Un premier script

echo " #!/bin/bash" > /tmp/myscript.sh
echo "echo helloBash" >> /tmp/myscript.sh
cat /tmp/myscript.sh | bash

L'entête #! ("Shebang" ou "Crunchbang") indique quel est l'interpréteur à utiliser (ici Bash, mais on pourrait en utiliser d'autre)

L'extension .sh est une convention pour les scripts shell en général.

Pour l'exécuter il faut ajouter le droit d'exécution sur le fichier

chmod 755 /tmp/myscript.sh
bash -c /tmp/myscript.sh
/tmp/myscript.sh

Gestion des arguments et des options

 cat ./myscript.sh 
  #!/bin/bash
  echo "My name is $0"
  echo "My first argument is $1"
  ./myscript.sh foo

On voit donc que la commande est stockée dans la variable $0 et le premier argument dans $1.

Bash ne sait pas nativement reconnaître des options, le script ne voit que des arguments les uns derrière les autres, accessibles dans des variables numérotées.

 cat ./myscript.sh 
  #!/bin/bash
  echo -e "Arg1: $1 - Arg2: $2 - Arg3: $3 - Arg4: $4 - Arg5: $5 "
  ./myscript.sh Epstein did not kill himself 

Pour utiliser des options une ligne de commande plus riche on utilise la commande getopts (voir plus loin).

Déclarer des variables

Faire des tests conditionnels

En cours de rédaction...