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:script-bash-variables-arguments-parametres [03/06/2014 18:26] Hypathie [Création de variables] |
doc:programmation:shells:script-bash-variables-arguments-parametres [04/06/2014 06:09] Hypathie [Quand les valeurs sont des paramètres] |
||
---|---|---|---|
Ligne 14: | Ligne 14: | ||
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 ! | ||
- | ====== Création de variables ====== | + | ===== Création de variables ===== |
En liens nécessaires : \\ | En liens nécessaires : \\ | ||
[[doc:programmation:shell:shell#variables-et-environnement|Le shell pour tous : "Variables et environnement"]]\\ | [[doc:programmation:shell:shell#variables-et-environnement|Le shell pour tous : "Variables et environnement"]]\\ | ||
Ligne 250: | Ligne 250: | ||
</code> | </code> | ||
- | * * Mais avec la commande set qui fixe des paramètres de position:** | + | * **Mais avec la commande set qui modifie provisoirement les paramètres :** |
<code bash> | <code bash> | ||
#!/bin/bash | #!/bin/bash | ||
Ligne 297: | Ligne 297: | ||
</code> | </code> | ||
- | ====Récupérer la longueur d'un paramètre ou d'une valeur de variable ==== | + | ====Récupérer la longueur d'une valeur de variable==== |
* **Pour obtenir la longueur d'une chaîne stockée dans une variable, on écrit ${#VAR}.** | * **Pour obtenir la longueur d'une chaîne stockée dans une variable, on écrit ${#VAR}.** | ||
Exemples : | Exemples : | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | var="j'aime debian-facile" | ||
+ | echo ${#var} | ||
+ | </code> | ||
+ | |||
+ | * ** Pour récupérer la longueur d'un paramètre de position** | ||
+ | FIXME | ||
+ | |||
+ | =====Substitutions de commande===== | ||
+ | |||
+ | Permet de se servir de la sortie d'une commande dans un autre contexte pour ; | ||
+ | - affecter cette sortie à une variable ; | ||
+ | - utiliser cette sortie comme argument d'une autre commande | ||
+ | - etc. | ||
+ | |||
+ | Il y a deux syntaxes : | ||
+ | <code> | ||
+ | `commande` | ||
+ | </code> | ||
+ | |||
+ | OU | ||
+ | |||
+ | <code> | ||
+ | $(commande) | ||
+ | </code> | ||
+ | |||
+ | ===$(cmd) : des exemples=== | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | dir=$(pwd) | ||
+ | echo "mon répertoire est : $dir" | ||
+ | </code> | ||
+ | <code> | ||
+ | mon répertoire est : /home/hypathie | ||
+ | </code> | ||
+ | *plusieurs commandes: | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | echo $(pwd ; ls) | ||
+ | </code> | ||
+ | === $(cmd) : imbrication de commandes :=== | ||
+ | <code bash> | ||
+ | echo $( ls $(pwd)/Documents) | ||
+ | </code> | ||
+ | *avec set : | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | set $(pwd ; whoami) | ||
+ | echo "$1 : $2" | ||
+ | echo $# | ||
+ | </code> | ||
+ | Ou | ||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | set -- $(ls -l $(pwd)/.bashrc) | ||
+ | echo $* | ||
+ | </code> |