informatique:linux:programmation_shell
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
informatique:linux:programmation_shell [2022/10/17 21:30] – [trim (suppression des espaces dans une chaîne)] pteu | informatique:linux:programmation_shell [2024/10/02 15:10] (current) – [pipe ("|")] test de présence d'un flux envoyé sur l'entrée standard (pipe) pteu | ||
---|---|---|---|
Line 470: | Line 470: | ||
$ false | true; echo $? | $ false | true; echo $? | ||
1 | 1 | ||
+ | </ | ||
+ | |||
+ | * pour écrire un script qui traite l' | ||
+ | <code bash> | ||
+ | # s'il existe un pipe sur l' | ||
+ | if [ -p /dev/stdin ]; then | ||
+ | source="/ | ||
+ | else | ||
+ | source=" | ||
+ | fi | ||
</ | </ | ||
===== read ===== | ===== read ===== | ||
Line 479: | Line 489: | ||
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 numéro de ta CB ? Et le cryptogramme visuel | + | read -p "Quel est ton nom ?" NOM |
+ | </ | ||
+ | Pour masquer la saisie, s'il s'agit d'un mot de passe par exemple, on utilise '' | ||
+ | <code bash> | ||
+ | read -s -p "Et ton numéro | ||
</ | </ | ||
- | Pour lire depuis un fichier | + | ====Lire |
<code bash> | <code bash> | ||
read < fichier.txt | read < fichier.txt | ||
Line 489: | Line 503: | ||
while read line; do | while read line; do | ||
echo $line | echo $line | ||
+ | done < fichier.txt | ||
+ | </ | ||
+ | |||
+ | Pour lire mot par mot, si le fichier est formaté (par exemple s'il contient une liste de "nom prénom" | ||
+ | <code bash> | ||
+ | while read nom prenom; do | ||
+ | echo " | ||
done < fichier.txt | done < fichier.txt | ||
</ | </ | ||
Line 516: | Line 537: | ||
foo | foo | ||
</ | </ | ||
+ | ====Lire depuis une variable==== | ||
- | Pour lire depuis une variable : | ||
<code bash> | <code bash> | ||
read <<< | read <<< | ||
+ | </ | ||
+ | |||
+ | Seconde façon de faire, et plus adéquate si la variable contient des sauts de ligne : | ||
+ | <code bash> | ||
+ | ECHO=" | ||
+ | | ||
+ | | ||
</ | </ | ||
====== Expressions arithmétiques ====== | ====== Expressions arithmétiques ====== |
informatique/linux/programmation_shell.1666042201.txt.gz · Last modified: 2022/10/17 21:30 by pteu