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