GNT sans publicité, site mobile, fonctionnalitées exclusives...

(posh) IFS=: read x y

Le
Cyrille Lefevre
Bonjour,

sous cygwin tout du moins, posh le semble pas exporter IFS
temporairement IFS à la commande read, qu'en pensez-vous ?
autrement dit, bug ou pas bug ? je ne trouve pas l'info
dans SUSv3.

ex. :

p='/proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows
NT/CurrentVersion/Windows/Device'
IFS=',' read -r PRINTER < "${p}"
echo $p

=> HP LaserJet 4050 Series PCL6,winspool,Ne03:

semble fonctionner sur tous les autres shell

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%nospam@laposte.net.invalid
supprimer "%nospam% et ".invalid" pour me repondre.
Lire les 9 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
naddy
Le #23217071
Cyrille Lefevre
sous cygwin tout du moins, posh le semble pas exporter IFS
temporairement IFS à la commande read, qu'en pensez-vous ?
autrement dit, bug ou pas bug ?



Bug.

je ne trouve pas l'info dans SUSv3....



D'après POSIX ("The Open Group Base Specifications Issue 7"), read(1)
est une commande tout normale. C'est une "built-in", mais jamais
une "special built-in", donc rien de spécial concernant le traitement
des variables d'environnement.

--
Christian "naddy" Weisgerber
Stephane CHAZELAS
Le #23217431
2011-03-19, 00:24(+01), Cyrille Lefevre:
Bonjour,

sous cygwin tout du moins, posh le semble pas exporter IFS
temporairement IFS à la commande read, qu'en pensez-vous ?
autrement dit, bug ou pas bug ? je ne trouve pas l'info
dans SUSv3....

ex. :

p='/proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows
NT/CurrentVersion/Windows/Device'
IFS=',' read -r PRINTER < "${p}"
echo $p




Avec une seule variable, il ne peut pas y avoir de splitting.
M'est avis que tu veux

IFS=, read -r PRINTER rest
echo "$PRINTER"

--
Stephane
Cyrille Lefevre
Le #23217761
Le 19/03/2011 20:48, Stephane CHAZELAS a écrit :

Avec une seule variable, il ne peut pas y avoir de splitting.
M'est avis que tu veux

IFS=, read -r PRINTER rest
echo "$PRINTER"



quel c... bien sur ! merci.

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
Cyrille Lefevre
Le #23217751
Le 19/03/2011 20:48, Stephane CHAZELAS a écrit :
2011-03-19, 00:24(+01), Cyrille Lefevre:
Bonjour,

sous cygwin tout du moins, posh le semble pas exporter IFS
temporairement IFS à la commande read, qu'en pensez-vous ?
autrement dit, bug ou pas bug ? je ne trouve pas l'info
dans SUSv3....

ex. :

p='/proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows
NT/CurrentVersion/Windows/Device'
IFS=',' read -r PRINTER< "${p}"
echo $p



Avec une seule variable, il ne peut pas y avoir de splitting.
M'est avis que tu veux

IFS=, read -r PRINTER rest
echo "$PRINTER"



bon, en fait le pb n'est pas sous posh, mais dash...

voila ce que ça donne :

[ -e "${p}" ] && IFS=',' read -r PRINTER rest < "${p}"
echo $PRINTER
HP

pour info :

cat "$p"
HP LaserJet 4050 Series PCL6,winspool,Ne03:

bug, donc, on est d'accord...

PS: en fait, j'avais bien le rest, mais oublié dans le spécifi é dans le
post %-/

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
Cyrille Lefevre
Le #23217741
Le 19/03/2011 16:52, Christian Weisgerber a écrit :
Cyrille Lefevre
sous cygwin tout du moins, posh le semble pas exporter IFS
temporairement IFS à la commande read, qu'en pensez-vous ?
autrement dit, bug ou pas bug ?



Bug.

je ne trouve pas l'info dans SUSv3....



D'après POSIX ("The Open Group Base Specifications Issue 7"), read(1)
est une commande tout normale. C'est une "built-in", mais jamais
une "special built-in", donc rien de spécial concernant le traitement
des variables d'environnement.



c'est bien ce que j'avais compris... merci.

Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
Publicité
Suivre les réponses
Poster une réponse
Anonyme