un bon exemple de l'importance de l'option -r !
La version que je considère la plus sécurisée est celle-ci :
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 while IFS='' read -r ligne do done
Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.
Pour ce code j'obtiens le message
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ./test.sh: line 6: syntax error near unexpected token `done' ./test.sh: line 6: `done
Le code de Flodelarab est volontairement incomplet. Il a laissé une ligne vide entre le "do" et le "done" montrant que l'utilisateur peut faire ce qu'il veut ici avec la variable "ligne". Ok c'est pas explicite (moi j'aurais mis une instruction neutre style echo "$ligne" ou même une mention style ... (instruction de son choix) ...) mais ceux qui connaissent le shell le comprennent de suite. D'autant plus qu'il est interdit de créer un bloc vide (si vraiment on doit le faire alors on écrira l'instruction neutre true).
Mon Tutoriel sur la programmation «Python»
Mon Tutoriel sur la programmation «Shell»
Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
Et on poste ses codes entre balises [code] et [/code]
En instruction neutre tu as aussi : .
Cordialement.
Le seul qui soit totalement neutre c'est le commentaire, d'ailleurs, il est tellement neutre qu'il passe inaperçu et peut faire qu'un bloc tombe en erreur s'il n'y a que le commentaire.
true => c'est vouloir explicitement un résultat positif
false => c'est vouloir explicitement un résultat négatif
: => c'est une commande "null" qui ne fait rien mais qui a aussi l'avantage d'absorber ces paramètres et ces input.
Remplacer une redirection de sortie vers /dev/null:
Bloc de boucle valide:
Code : Sélectionner tout - Visualiser dans une fenêtre à part $ echo toto | :
Remplacer une redirection d'entrée depuis /dev/null:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 while true do : ici pas encore décidé de mes commandes done
Code : Sélectionner tout - Visualiser dans une fenêtre à part while read a ; do : pas encore décidé mais pas grave, en entrera pas dans la boucle ; done < <(:)
Cordialement.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager