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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:programmation:shells:debuter-avec-les-scripts-shell-bash [11/07/2014 07:53] Hypathie [Comment créer et exécuter un script ?] |
doc:programmation:shells:debuter-avec-les-scripts-shell-bash [13/04/2015 19:36] milou [Apprendre à rédiger des scripts sous bash] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Apprendre à rédiger des scripts sous bash====== | ====== Apprendre à rédiger des scripts sous bash====== | ||
+ | * Objet : Apprendre à rédiger des scripts sous bash | ||
* Niveau requis : {{tag>débutant}} | * Niveau requis : {{tag>débutant}} | ||
+ | * Commentaires : FIXME | ||
* Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
- | * Suivi : {{tag>à-placer}} | + | * Suivi : |
* Création par [[user>Hypathie]] 18/03/2014 | * Création par [[user>Hypathie]] 18/03/2014 | ||
- | * Testé par <Hypathie> le <Juin 2014> | + | * Testé par [[user>Hypathie]] le <Juin 2014> |
* Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=92203#p92203|Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=92203#p92203|Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
+ | |||
+ | **Nota :** Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
+ | |||
+ | ------ | ||
**Nota : Les autres wiki :** | **Nota : Les autres wiki :** | ||
Ligne 13: | Ligne 19: | ||
* [[atelier:chantier:script-bash-detail-sur-les-parametres-et-les-boucles|script bash : modification de variable et de paramètre]] | * [[atelier:chantier:script-bash-detail-sur-les-parametres-et-les-boucles|script bash : modification de variable et de paramètre]] | ||
* [[atelier:chantier:script-bash-enchainement-de-commandes-et-etat-de-sortie|script-bash-enchainement-de-commandes-et-etat-de-sortie]] | * [[atelier:chantier:script-bash-enchainement-de-commandes-et-etat-de-sortie|script-bash-enchainement-de-commandes-et-etat-de-sortie]] | ||
- | * [[atelier:chantier:script-bash-etat-de-sorie-et-les-tests|script-bash-etat-de-sorie-et-les-tests]] | + | * [[atelier:chantier:script-bash-etat-de-sorie-et-les-tests|script-bash-etat-de-sortie-et-les-tests]] |
- | * [[atelier:chantier:script-bash-les-tableaux|script-bash-les-tableaux]] | + | * [[doc:programmation:bash:script:tableaux|script-bash-les-tableaux]] |
- | * [[atelier:chantier:script-bash-les-fonctions|script-bash-les-fonctions]] | + | * [[doc:programmation:bash:script:fonction|script-bash-les-fonctions]] |
Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | ||
Ligne 81: | Ligne 87: | ||
^ POSIX ^ À éviter : bashisme ^ | ^ POSIX ^ À éviter : bashisme ^ | ||
| if [ "$toto" ''='' "$titi" ] ; then … | if [ "$toto" ''=='' "$titi" ] ; then … | | | if [ "$toto" ''='' "$titi" ] ; then … | if [ "$toto" ''=='' "$titi" ] ; then … | | ||
- | | diff -u ''fichier.orig fichier.c'' | diff -u ''fichier.c{.orig,}'' | | + | | diff -u ''fichier.orig fichier.c'' | diff -u ''fichier.{orig,c}'' | |
| mkdir ''/tototiti /tototutu'' | mkdir ''/toto{titi,tutu}'' | | | mkdir ''/tototiti /tototutu'' | mkdir ''/toto{titi,tutu}'' | | ||
| ''funcname()'' { … } | ''function funcname()'' { … } | | | ''funcname()'' { … } | ''function funcname()'' { … } | | ||
Ligne 156: | Ligne 162: | ||
echo -n "Bonjour les copains" | echo -n "Bonjour les copains" | ||
</code> | </code> | ||
+ | |||
* Pour exécuter ce script il suffit d'inscrire ''bash nom-du-script'' dans un terminal. | * Pour exécuter ce script il suffit d'inscrire ''bash nom-du-script'' dans un terminal. | ||
Ligne 177: | Ligne 184: | ||
</code> | </code> | ||
- | >La commande echo est une commande interne du shell ; la commande /bin/echo est une commande à part.\\ | + | >La commande echo est une commande interne du shell ; la commande /bin/echo est une commande à part. |
**merci [[user>captnfab]]** 8-) | **merci [[user>captnfab]]** 8-) | ||
</note> | </note> | ||
Ligne 230: | Ligne 238: | ||
</code> | </code> | ||
- | * Pour y ajouter, en dernière ligne : ''PATH=$PATH":$HOME/MesScripts" '' | + | * Pour y ajouter, en dernière ligne : ''PATH=$PATH":$HOME/MesScripts" ''. |
+ | <note tip> | ||
+ | Sans éditer, le fichier ''~/.bashrc'', on peut y ajouter cette ligne en faisant : | ||
+ | <code user> | ||
+ | echo 'PATH=$PATH":$HOME/MesScripts"' >> ~/.bashrc | ||
+ | </code> | ||
+ | Merci à phlinux pour cette remarque 8-) | ||
+ | </note> | ||
* Créons le fichier "mon-script" avec le sha-bang : | * Créons le fichier "mon-script" avec le sha-bang : | ||
Ligne 285: | Ligne 300: | ||
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/utilisateur/MesScripts | /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/utilisateur/MesScripts | ||
</code> | </code> | ||
- | * Concernant la commande ''source ~/.bashrc''(ou son équivalent ''. ~/.bashrc''), notons que cela ne fonctionne que dans un sens : pour faire prendre en compte un ajout dans le fichier ''~/.bashrc''.\\ Par contre, si on dé-commente une ligne de ce fichier, il faudra fermer puis ré-ouvrir le terminal pour que le changement soit effectif. | + | * Concernant la commande ''source ~/.bashrc''\\(ou son équivalent ''. ~/.bashrc''):\\ notons que cela ne fonctionne que pour faire prendre en compte un ajout dans le fichier ''~/.bashrc''.\\ Si au contraire, on dé-commente une ligne de ce fichier, il faudra fermer puis ré-ouvrir le terminal pour que le changement soit effectif. |
</note> | </note> | ||