logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


Rédaction de scripts Shell

Nota :

Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

#! et exécution

La première ligne d'un script shell doit toujours commencer par #!, suivi ensuite de l'interpréteur de commande à utiliser. Si vous n'utilisez pas de commande propres à bash ou zsh, vous pouvez laisser l'interpréteur de commande par défaut :

#!/bin/sh

Si vous voulez pouvoir exécuter votre script, n'oubliez pas de donner les droits correspondant à l'utilisateur devant l'exécuter.

Par exemple :

chmod a+x monscript.sh

Ou encore :

chmod root:admin monscript.sh
chmod 750 monscript.sh

Récupération des arguments

L'argument 0 est le chemin utilisé pour exécuter le programme.

Exemple, cela peut-être ./monscript ou monscript s'il est dans le PATH, ou même ./un-lien-vers-mon-script si vous avec utilisé ln. Il est accessible via la variable $0.

Le premier argument est ensuite accessible via $1, le deuxième via $2, etc. L'ensemble des arguments est accessible via $@ alors que la concaténation de tous les arguments (séparés par des espaces) est accessible via $*.Le nombre d'arguments est accessible via $#.
Voir : bash-les-differents-caracteres-speciaux

La commande shift permet de décaler tous les arguments vers la gauche ($1 désigne le second, etc.).

Exemple :

#!/bin/sh
 
echo "Commande initiale : $0 $@"
 
N=0
while [ -n "$1" ];
do
  N=$(($N+1))
  echo "Argument $N : $1";
  shift;
done

Pour tout comprendre de cet exemple voir : avancee ainsi que les liens que vous y trouverez.

Liens à visiter

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/programmation/shell/scripts.1395570601.txt.gz · Dernière modification: 23/03/2014 11:30 par Hypathie

Pied de page des forums

Propulsé par FluxBB