User Tools

Site Tools


informatique:linux:programmation_shell

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
informatique:linux:programmation_shell [2022/10/17 21:28] – [trim] pteuinformatique:linux:programmation_shell [2023/10/02 13:30] – [read] Lire depuis une variable pteu
Line 479: Line 479:
 Pour afficher un texte avant la saisie on utilise ''-p'' ; on peut récupérer plusieurs saisie d'un seul coup : Pour afficher un texte avant la saisie on utilise ''-p'' ; on peut récupérer plusieurs saisie d'un seul coup :
 <code bash> <code bash>
-read -p "Quel est le numéro de ta CB ? Et le cryptogramme visuel de derrière ?" CARD_NUMBER CRYPTO+read -p "Quel est ton nom ?" NOM 
 +</code> 
 +Pour masquer la saisie, s'il s'agit d'un mot de passe par exemple, on utilise ''-s''
 +<code bash> 
 +read -s -p "Et ton numéro de CB ?" CARD_NUMBER
 </code> </code>
  
-Pour lire depuis un fichier :+====Lire depuis un fichier====
 <code bash> <code bash>
 read < fichier.txt read < fichier.txt
Line 517: Line 521:
 </code> </code>
  
-Pour lire depuis une variable :+====Lire depuis une variable==== 
 <code bash> <code bash>
 read <<< $var read <<< $var
 +</code>
 +
 +Seconde façon de faire, et plus adéquate si la variable contient des sauts de ligne :
 +<code bash>
 +ECHO="toto1 titi1\ntoto2 titi2"; echo -e "$ECHO" | while read a b; do echo "a=$a ; b=$b"; done
 + a=toto1 ; b=titi1
 + a=toto2 ; b=titi2
 </code> </code>
 ====== Expressions arithmétiques ====== ====== Expressions arithmétiques ======
Line 954: Line 966:
 </code> </code>
  
-  * en utilisant la substitution de caractère dans les variables, en activant le //globbing étendu// (des motifs d'expressions régulières prédéfinis) :+  * en utilisant la substitution de caractère dans les variables, en activant le //globbing étendu// (des motifs d'expressions régulières prédéfinis) (source: [[https://www.cyberciti.biz/faq/how-to-trim-leading-and-trailing-white-space-in-bash/|cyberciti.biz]]) :
 <code bash> <code bash>
 shopt -s extglob                     # activation des extended glob shopt -s extglob                     # activation des extended glob
Line 962: Line 974:
 </code> </code>
  
-  * avec ''mapfile'' et ''set --''+  * avec ''mapfile'' et ''<nowiki>set --</nowiki>'' (source: [[https://stackoverflow.com/questions/61081608/bash-remove-leading-and-trailing-spaces-in-array/61087835#61087835|stackoverflow]])
 <code bash> <code bash>
 function trim() { function trim() {
informatique/linux/programmation_shell.txt · Last modified: 2023/10/02 13:35 by pteu