informatique:linux:programmation_shell
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
informatique:linux:programmation_shell [2019/03/19 09:04] – [Chaînes de caractères] =~ pteu | informatique:linux:programmation_shell [2019/04/24 07:53] – [pipe ("|")] pteu | ||
---|---|---|---|
Line 123: | Line 123: | ||
* '' | * '' | ||
* '' | * '' | ||
- | * '' | + | * '' |
Comme pour les variables classiques, on peut récupérer la longueur en le précèdent de ''#'' | Comme pour les variables classiques, on peut récupérer la longueur en le précèdent de ''#'' | ||
Line 129: | Line 129: | ||
* taille du tableau (nombre de case de celui-ci) : '' | * taille du tableau (nombre de case de celui-ci) : '' | ||
+ | Pour parcourir facilement un tableau dans une boucle : | ||
+ | <code bash> | ||
+ | ARRAY=( un deux trois ) | ||
+ | for i in " | ||
+ | un | ||
+ | deux | ||
+ | trois | ||
+ | </ | ||
====Tableau à 2 dimensions==== | ====Tableau à 2 dimensions==== | ||
- | Cela n'existe | + | Ça n'eût pas existé |
<code bash> | <code bash> | ||
# déclaration d'un tableau associatif T | # déclaration d'un tableau associatif T | ||
Line 235: | Line 243: | ||
======Les fonctions====== | ======Les fonctions====== | ||
+ | =====pipe (" | ||
+ | |||
+ | Le pipe (tube) est une fonction qui permet de chainer la sortie d'une première commande sur l' | ||
+ | <code bash> | ||
+ | echo "toto et tata" | awk ' | ||
+ | tata | ||
+ | </ | ||
+ | |||
+ | Le soucis c'est qu'on ne récupère que le code de retour de la dernière commande du pipe ; et dans l' | ||
+ | * récupérer les codes de retour de chaque commande dans le tableau '' | ||
+ | <code bash> | ||
+ | false | true | ||
+ | echo " | ||
+ | 1 0 | ||
+ | </ | ||
+ | * utiliser la variable '' | ||
+ | <code bash> | ||
+ | $ false | true; echo $? | ||
+ | 0 | ||
+ | $ set -o pipefail | ||
+ | $ false | true; echo $? | ||
+ | 1 | ||
+ | </ | ||
===== read ===== | ===== read ===== | ||
Line 243: | Line 274: | ||
Pour afficher un texte avant la saisie on utilise '' | Pour afficher un texte avant la saisie on utilise '' | ||
<code bash> | <code bash> | ||
- | read -p "Quel est le nombre indique sur votre CB ? Et le cryptogramme visuel de derrière ?" CARD_NUMBER CRYPTO | + | read -p "Quel est le numéro de ta CB ? Et le cryptogramme visuel de derrière ?" CARD_NUMBER CRYPTO |
</ | </ | ||
Line 250: | Line 281: | ||
read < fichier.txt | read < fichier.txt | ||
- | # souvent | + | # c'est plutôt |
- | # exemple | + | |
while read line; do | while read line; do | ||
echo $line | echo $line | ||
Line 268: | Line 298: | ||
done | done | ||
</ | </ | ||
- | Le premier exemple utilise une [[https:// | + | Le premier exemple utilise une [[https:// |
Pour lire depuis une variable : | Pour lire depuis une variable : | ||
Line 424: | Line 454: | ||
Affichera : '' | Affichera : '' | ||
- | Cela équivaut à : '' | + | Cela équivaut à : '' |
+ | <code bash> | ||
+ | DEBUT=1 | ||
+ | FIN=5 | ||
+ | for (( i = $DEBUT; i <= $FIN; i++ )) | ||
+ | |||
+ | # ne fonctionne pas : for i in {$DEBUT..$FIN} | ||
+ | </ | ||
On peut aussi lui fournir une liste de mots : | On peut aussi lui fournir une liste de mots : |
informatique/linux/programmation_shell.txt · Last modified: 2023/10/02 13:35 by pteu