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

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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:script-bash-variables-arguments-parametres [13/04/2015 19:41]
milou [Script bash : variables, arguments, paramètres]
doc:programmation:shells:script-bash-variables-arguments-parametres [21/10/2015 18:31]
milou [Script bash : variables, arguments, paramètres]
Ligne 1: Ligne 1:
 ======Script bash : variables, arguments, paramètres ====== ======Script bash : variables, arguments, paramètres ======
  
-  * Objet : Script bash : variables, arguments, ​paramètres__Soulignage__ +  * Objet : Script bash : variables, arguments, ​paramètres 
-  * Niveau requis : {{tag>​débutant}}+  * Niveau requis : {{tag>​débutant ​avisé}}
   * Commentaires : FIXME   * 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 :    * Suivi : 
-    * Création par [[user>​Hypathie]] 18/​03/​2014 +    * Création par [[user>​Hypathie]] ​le 18/​03/​2014 
-    * Testé par [[user>​Hypathie]] ​le <Juin 2014>+    * Testé par [[user>​Hypathie]] ​ 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 !))
  
-------+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 :**
-  * [[atelier:chantier:​debuter-avec-les-scripts-shell-bash]]+  * [[doc:programmation:shells:​debuter-avec-les-scripts-shell-bash | debuter-avec-les-scripts-shell-bash]]
   * ;-)   * ;-)
-  * [[atelier:chantier:​script-bash-detail-sur-les-parametres-et-les-boucles|script bash : modification de variable et de paramètre]] +  * [[doc:programmation:​shells:​script-bash-detail-sur-les-parametres-et-les-boucles | 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]]+  * [[doc:​programmation:shells:​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-sorie-et-les-tests]]
   * [[doc:​programmation:​bash:​script:​tableaux|script-bash-les-tableaux]]   * [[doc:​programmation:​bash:​script:​tableaux|script-bash-les-tableaux]]
   * [[doc:​programmation:​bash:​script:​fonction|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 !+
  
 ===== Création, suppression,​ exportation de variables ===== ===== Création, suppression,​ exportation de variables =====
Ligne 27: Ligne 28:
 Le nom d'une variable est un simple pointeur vers l'​emplacement mémoire où sont conservées les données qu'​elle contient.\\ ​ Le nom d'une variable est un simple pointeur vers l'​emplacement mémoire où sont conservées les données qu'​elle contient.\\ ​
  
-Les variables qu'on crée dans un script (ou dans le terminal) sont localisées dans ce script (ou à l'​ouverture d'un terminal) c'​est-à-dire qu'​elles ne sont utilisables que lorsqu'​on exécute son script, (ou que l'on appelle la valeur d'une variable qu'on vient de déclarer dans un terminal). Et il s'agit du script d'un utilisateur,​ il faut les distinguer [[atelier:chantier:​la-page-man-bash-les-caracteres-speciaux#​caracteres-des-variables-de-substitution-predefinies|des variables de substitution prédéfinies]] et [[atelier:chantier:​la-page-man-bash-les-caracteres-speciaux#​appel-de-la-valeur-des-variables-d-environnement-predefinies|des variables d'​environnement prédéfinies]].+Les variables qu'on crée dans un script (ou dans le terminal) sont localisées dans ce script (ou à l'​ouverture d'un terminal) c'​est-à-dire qu'​elles ne sont utilisables que lorsqu'​on exécute son script, (ou que l'on appelle la valeur d'une variable qu'on vient de déclarer dans un terminal). Et il s'agit du script d'un utilisateur,​ il faut les distinguer [[docs:programmation:​shells:​la-page-man-bash-les-caracteres-speciaux#​caracteres-des-variables-de-substitution-predefinies|des variables de substitution prédéfinies]] et [[docs:​programmation:shells:​la-page-man-bash-les-caracteres-speciaux#​appel-de-la-valeur-des-variables-d-environnement-predefinies|des variables d'​environnement prédéfinies]].
  
 Mais comment enregistrer une valeur en mémoire ?\\  Mais comment enregistrer une valeur en mémoire ?\\ 
Ligne 34: Ligne 35:
  
 <​note>​ <​note>​
-Avant tout prenez bien conscience que la déclaration d'une variable n'est pas confinée au script, mais qu'il est possible de déclarer une variable dans le shell courant (dans le terminal). Voir absolument : [[atelier:chantier:​la-page-man-bash-les-caracteres-speciaux#​details-sur-le-caractere|détail sur le caractère $]].+Avant tout prenez bien conscience que la déclaration d'une variable n'est pas confinée au script, mais qu'il est possible de déclarer une variable dans le shell courant (dans le terminal). Voir absolument : [[docs:programmation:​shells:​la-page-man-bash-les-caracteres-speciaux#​details-sur-le-caractere|détail sur le caractère $]].
 </​note>​ </​note>​
 **Voyons d'​abord comment créer une variable de cette manière et comment utiliser sa valeur.** ;-) **Voyons d'​abord comment créer une variable de cette manière et comment utiliser sa valeur.** ;-)
Ligne 59: Ligne 60:
 </​code>​ </​code>​
 >Les programmes (ou commandes) ''​touch''​ et ''​ls''​ ont utilisé la valeur de  >Les programmes (ou commandes) ''​touch''​ et ''​ls''​ ont utilisé la valeur de 
->la fonction nommée ''​nx_fichier'',​ dont la valeur correspond à la chaîne ​+
 +>la fonction nommée ''​nx_fichier'',​ dont la valeur correspond à la chaîne 
 +
 >de caractères ''​les_fonctions''​. >de caractères ''​les_fonctions''​.
  
Ligne 151: Ligne 154:
 </​code>​ </​code>​
 >Ici ''​prenom''​ est le nom de la variable, et sa valeur est entrée par l'​utilisateur depuis le terminal. >Ici ''​prenom''​ est le nom de la variable, et sa valeur est entrée par l'​utilisateur depuis le terminal.
 +>
 >Là aussi ces deux commandes peuvent être entrées dans le terminal. >Là aussi ces deux commandes peuvent être entrées dans le terminal.
  
Ligne 157: Ligne 161:
 read -p "​entrez votre nom et prénom: " nom prenom read -p "​entrez votre nom et prénom: " nom prenom
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 entrez votre nom et prénom: entrez votre nom et prénom:
-</code>+</file>
  
 >On entre par exemple les deux chaînes de caractères,​ ''​debian''​ et ''​facile'',​ puis on peut récupérer la valeur de chacune des deux variables ''​nom''​ et ''​prenom''​. >On entre par exemple les deux chaînes de caractères,​ ''​debian''​ et ''​facile'',​ puis on peut récupérer la valeur de chacune des deux variables ''​nom''​ et ''​prenom''​.
Ligne 166: Ligne 170:
 echo $prenom $nom echo $prenom $nom
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 facile debian facile debian
-</code>+</file>
 Mais dans un script c'est plus rapide ! 8-) Mais dans un script c'est plus rapide ! 8-)
  
Ligne 187: Ligne 191:
 Quelques options utiles de la commande ''​read''​. Quelques options utiles de la commande ''​read''​.
   * ''​-p''​ : afficher un message   * ''​-p''​ : afficher un message
 +
   * ''​-n''​ : limiter le nombre de caractères   * ''​-n''​ : limiter le nombre de caractères
 +
   * ''​-t''​ : limiter le temps autorisé pour saisir un message   * ''​-t''​ : limiter le temps autorisé pour saisir un message
 +
   * ''​-s''​ : ne pas afficher le texte saisi   * ''​-s''​ : ne pas afficher le texte saisi
 On peut utiliser plusieurs options.\\ Par exemple: ​ On peut utiliser plusieurs options.\\ Par exemple: ​
Ligne 296: Ligne 303:
 Un processus, c'est un programme en cours d'​exécution,​ mais aussi son environnement d'​exécution.\\ Un processus, c'est un programme en cours d'​exécution,​ mais aussi son environnement d'​exécution.\\
 Ainsi le shell qui lance un script est le processus père du script lancé. Ainsi le shell qui lance un script est le processus père du script lancé.
-Sur la notion de processus voir [[atelier:chantier:​bash-les-differents-caracteres-speciaux?&#​notion-de-processus|Notion de processus]]+Sur la notion de processus voir [[doc:programmation:​shells:​bash-les-differents-caracteres-speciaux?&#​notion-de-processus|Notion de processus]]
 </​note>​ </​note>​
  
Ligne 305: Ligne 312:
 </​code>​ </​code>​
 >On déclare la variable ''​Coucou'',​ affectée de la valeur ''​Bonjour''​ depuis le terminal. >On déclare la variable ''​Coucou'',​ affectée de la valeur ''​Bonjour''​ depuis le terminal.
 +>
 >Le shell courant l'a enregistré. >Le shell courant l'a enregistré.
 <code user> <code user>
Ligne 310: Ligne 318:
 </​code>​ </​code>​
 >Là, on crée le fichier "​test.sh"​ contenant la ligne : ''​ echo "​Coucou=$Coucou"​ ''​. >Là, on crée le fichier "​test.sh"​ contenant la ligne : ''​ echo "​Coucou=$Coucou"​ ''​.
 +>
 >Il contient une variable, de même nom que celle, précédemment déclarée et affectée de la valeur ''​Bonjour''​ depuis le terminal. >Il contient une variable, de même nom que celle, précédemment déclarée et affectée de la valeur ''​Bonjour''​ depuis le terminal.
 <code user> <code user>
Ligne 319: Ligne 328:
 </​code>​ </​code>​
 >On exporte la variable ''​Coucou''​((Il s'agit ben sûr, de celle déclarée dans le terminal au début de l'​exemple)). >On exporte la variable ''​Coucou''​((Il s'agit ben sûr, de celle déclarée dans le terminal au début de l'​exemple)).
 +>
 >​Attention,​ ce n'est jamais la __valeur__ d'une variable que l'on exporte ! >​Attention,​ ce n'est jamais la __valeur__ d'une variable que l'on exporte !
 <code user> <code user>
 ./test.sh ./test.sh
 </​code>​ </​code>​
-<code>+<file config retour de la commande>
 Coucou="​Bonjour"​ Coucou="​Bonjour"​
-</code>+</file>
  
 >Il faut que le script déclare une variable de même nom (''​Coucou= ''​) ; qu'il récupère celle exportée depuis le terminal (''​$Coucou''​) ; et bien évidemment,​ qu'il affiche (''​echo''​) tout cela :( ''​echo "​Coucou=$Coucou"​ ''​). >Il faut que le script déclare une variable de même nom (''​Coucou= ''​) ; qu'il récupère celle exportée depuis le terminal (''​$Coucou''​) ; et bien évidemment,​ qu'il affiche (''​echo''​) tout cela :( ''​echo "​Coucou=$Coucou"​ ''​).
Ligne 338: Ligne 348:
 ./test.sh ./test.sh
 </​code>​ </​code>​
- +<file config retour de la commande>
-<code>+
 Coucou= Coucou=
-</code>+</file>
    
 <​note>​ <​note>​
Ligne 387: Ligne 396:
 </​code>​ </​code>​
  
-<code>+<file config retour de la commande>
 Bonjour ​ # on peut récupérer une valeur (ou des valeurs) déclarée(s) et les paramètres de position Bonjour ​ # on peut récupérer une valeur (ou des valeurs) déclarée(s) et les paramètres de position
 a a
Ligne 395: Ligne 404:
    
 tous les paramètres a b c tous les paramètres a b c
-</code>+</file>
  
   * Tous les arguments passés au scripts $* et $@ sont synonymes   * Tous les arguments passés au scripts $* et $@ sont synonymes
Ligne 410: Ligne 419:
 </​code>​ </​code>​
  
-<code>+<file config retour de la commande>
 bonjour bonjour
 bonjour à tous bonjour à tous
 bonjour à tous bonjour à tous
 3 3
-</code>+</file>
  
   * Là de même pour $* et $@ :   * Là de même pour $* et $@ :
Ligne 430: Ligne 439:
 </​code>​ </​code>​
  
-<code>+<file config retour de la commande>
 bonjour à tous bonjour à tous
 bonjour à tous bonjour à tous
 bonjour à tous bonjour à tous
 1 1
-</code>+</file>
  
   * Mais avec la commande set qui modifie provisoirement les paramètres :   * Mais avec la commande set qui modifie provisoirement les paramètres :
Ligne 452: Ligne 461:
 </​code>​ </​code>​
  
-<code >+<file config retour de la commande>
 bonjour à tous bonjour à tous
 bonjour à tous bonjour à tous
 bonjour à tous bonjour à tous
 1 1
-</code>+</file>
  
   * Ou encore :   * Ou encore :
Ligne 474: Ligne 483:
 </​code>​ </​code>​
  
-<code >+<file config retour de la commande>
 bonjour à tous bonjour à tous
 bonjour à tous bonjour à tous
Ligne 480: Ligne 489:
 3 3
  
-</code>+</file>
  
 =====Récupérer la longueur d'une valeur de variable===== =====Récupérer la longueur d'une valeur de variable=====
Ligne 600: Ligne 609:
  
 ==== Les variables typées pour les calculs : let ou (( ... )) ==== ==== Les variables typées pour les calculs : let ou (( ... )) ====
-Voir : [[atelier:chantier:​page-man-bash-iv-symboles-dans-les-calculs-mathematiques?&#​operateurs-arithmetiques|les opérateurs arithmétiques]] ​+Voir : [[doc:programmation:​shells:​page-man-bash-iv-symboles-dans-les-calculs-mathematiques?&#​operateurs-arithmetiques|les opérateurs arithmétiques]] ​
 ===Syntaxe=== ===Syntaxe===
 <​code>​ <​code>​
Ligne 640: Ligne 649:
  
 ==== L'​affectation arthmétique==== ==== L'​affectation arthmétique====
-Voir [[atelier:chantier:​page-man-bash-iv-symboles-dans-les-calculs-mathematiques?&#​operateurs-d-affectation-arithmetique| les opérateurs d'​affectation arithmétique]]+Voir [[doc:programmation:​shells:​page-man-bash-iv-symboles-dans-les-calculs-mathematiques?&#​operateurs-d-affectation-arithmetique| les opérateurs d'​affectation arithmétique]]
  
 Cela consiste à affecter à une variable le résultat d'un calcul arithmétique,​ par la __constante__ (donc avec ''​let''​) qu'on lui a donné.\\ ​ Cela consiste à affecter à une variable le résultat d'un calcul arithmétique,​ par la __constante__ (donc avec ''​let''​) qu'on lui a donné.\\ ​
doc/programmation/shells/script-bash-variables-arguments-parametres.txt · Dernière modification: 23/02/2023 02:20 par agp91

Pied de page des forums

Propulsé par FluxBB