Voici ce que peut contenir un simple script shell. Ce script montre entre autres comment lire les arguments passés par l'utilisateur à la suite du script, sélectionner les arguments à traiter, redéfinir les arguments si il n'y en a pas qui ont été passés par l'utilisateur, afficher une variable dont le contenu a été définit par le script, lire une entrée clavier et l'affecter à une variable, utiliser les différentes variables spécialement définies par le shell, qui contiennent des informations sur les programmes ou sur les utilisateurs...
#!/bin/sh # Exemples de programmation du shell. # Pour plus d'informations, lire la page de manuel de bash (76 pages !). echo Exemples de programmation du shell... echo "Utilisation : simple.sh <fichier> <argument>" #--------------------# # lire les arguments # #--------------------# echo nom du script : $0 echo argument 1 : $1 echo argument 2 : $2 echo tous les arguments : $* echo tous les arguments sous forme separee : $@ echo Il y a en tout $# arguments #-------------------------# # Redefinir les arguments # #-------------------------# a=1 b=2 c=3 d=4 e=5 set a b c d e echo "Et maintenant, apres le passage de set..." echo argument 1 : $1 echo argument 2 : $2 echo argument 3 : $3 echo "Tous les arguments : $* ($# arguments)" shift echo echo "Et maintenant, apres le passage de shift..." echo "Tous les arguments : $* ($# arguments)" echo "\$2 devient \$1, \$3 devient \$2..." set a b c d e echo echo "On refait un petit cout de set" echo "Tous les arguments : $* ($# arguments)" shift 3 echo echo "Et maintenant, apres le passage de shift 3..." echo "Tous les arguments : $* ($# arguments)" echo "\$4 devient \$1, \$5 devient \$2..." #--------------# # echo et read # #--------------# echo -n "Entrer deux chaines de caracteres : " read moi toi echo "Vous avez saisi : moi=$moi toi=$toi" echo "Longeur du contenu de \"moi\" : ${#moi}" # nb: pas d'espace ! moi=10 echo $moi echo derniere commande executee par le shell : $? echo no. de processus du shell : $$ echo PID de la derniere commande executee en tache de fond : $! echo "Fin du programme !" echo "Vous me devez \$20 !...Non, je blague" exit 0 # Valeur de retour du script (contenu dans la variable '$?' # a la fin de l'execution du script). # Il est de bon ton de retourner la valeur 1 en cas d'abandon # du a une erreur.