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 [10/07/2014 13:06]
Hypathie [Variables numériques et calculs]
doc:programmation:shells:script-bash-variables-arguments-parametres [15/10/2015 19:19]
milou [Variables numériques et calculs]
Ligne 1: Ligne 1:
 ======Script bash : variables, arguments, paramètres ====== ======Script bash : variables, arguments, paramètres ======
  
-  * Niveau requis : {{tag>​débutant}}+  ​* Objet : Script bash : variables, arguments, paramètres 
 +  ​* Niveau requis : {{tag>​débutant ​avisé}} 
 +  * 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]] ​le 18/​03/​2014 
-    * Testé par <​Hypathiele <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 !
  
-  ​* [[atelier:chantier:​debuter-avec-les-scripts-shell-bash]]+------ 
 + 
 +**Nota : Les autres wiki :** 
 +  ​* [[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]]   * [[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-sorie-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 ! 
  
 ===== Création, suppression,​ exportation de variables ===== ===== Création, suppression,​ exportation de variables =====
Ligne 22: Ligne 29:
 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 29: Ligne 36:
  
 <​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 54: Ligne 61:
 </​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 146: Ligne 155:
 </​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 152: Ligne 162:
 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 161: Ligne 171:
 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 182: Ligne 192:
 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 291: Ligne 304:
 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 300: Ligne 313:
 </​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 305: Ligne 319:
 </​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 314: Ligne 329:
 </​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 333: Ligne 349:
 ./test.sh ./test.sh
 </​code>​ </​code>​
- +<file config retour de la commande>
-<code>+
 Coucou= Coucou=
-</code>+</file>
    
 <​note>​ <​note>​
Ligne 382: Ligne 397:
 </​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 390: Ligne 405:
    
 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 405: Ligne 420:
 </​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 425: Ligne 440:
 </​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 447: Ligne 462:
 </​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 469: Ligne 484:
 </​code>​ </​code>​
  
-<code >+<file config retour de la commande>
 bonjour à tous bonjour à tous
 bonjour à tous bonjour à tous
Ligne 475: Ligne 490:
 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 595: Ligne 610:
  
 ==== 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 635: Ligne 650:
  
 ==== 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é.\\ ​
Ligne 692: Ligne 707:
 done done
 </​code>​ </​code>​
-[[atelier:chantier:script-bash-les-tableaux#​se-creuser-un-peu-les-meninges|voir aussi ici]] +[[doc:programmation:bash:script:tableaux#​se-creuser-un-peu-les-meninges|voir aussi ici]] 
  
   * Ou encore de cette manière :   * Ou encore de cette manière :
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