Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 31/07/2023, à 15:33

Chaosphere

Re : Tuto scripts shell

Ca fait quoi la ligne suivante exactement ?

set -- $REPLY

Ca rempli les variables positionnelles avec le contenu de REPLY ?

Hors ligne

#27 Le 31/07/2023, à 17:14

MicP

Re : Tuto scripts shell

…Ca rempli les variables positionnelles avec le contenu de REPLY ?

Côté POSIX, un extrait de la page web :
The Open Group Base Specifications Issue 7IEEE Std 1003.1-2008Copyright © 2008 The IEEE and The Open Group

concernant la commande set avec l'argument --


The special argument "--" immediately following the set command name can be used to delimit the arguments if the first argument begins with '+' or '-' ,  or to prevent inadvertent listing of all shell variables when there are no arguments.
The command set -- without argument shall unset all positional parameters and set the special parameter '#' to zero.

=======
Même chose pour les shells bash et dash (sh)
comme on peut le voir dans le retour des lignes de commande suivantes :

man --pager='less -p " set \["' bash
man --pager='less -p " set \["' dash

Dernière modification par MicP (Le 31/07/2023, à 17:14)

Hors ligne

#28 Le 31/07/2023, à 18:02

kamaris

Re : Tuto scripts shell

Oui, set -- var1 … varN assigne var1 … varN aux paramètres positionnels, d'où $# == N.
Mais "l'astuce" ici est aussi de ne pas mettre de guillemets autour de $REPLY, afin de laisser le shell découper la réponse donnée par l'utilisateur en mots.
Cf. ton commentaire https://forum.ubuntu-fr.org/viewtopic.p … #p22696316 et la réponse qui suit d'Hizoka smile

Dernière modification par kamaris (Le 31/07/2023, à 18:03)

Hors ligne