[SSFR] numero de descripteurs de fichiers dans une variable ?

[ Thread Index | Date Index | More debianworld.org/shellscript-fr Archives ]


Bonjour a tous,

soit zsh mon shell favori ... (la réponse peut aussi m'interesser avec
dash, tout bashism est ignoré).

J'aimerais ne plus avoir a travailler directement avec des numeros
lorsque j'écris dans des fichiers ouverts (ce pour ameliorer la
lisibilité des scripts et limiter les erreurs potentielles : Il est a
mon gout plus simple de lire print -uINDEX que print -u4).

je peux créer un alias global :

% alias -g FH1=3
% exec FH1>dude
% echo pouet >&FH1
% cat dude
pouet

mais j'aimerais gerer la chose par une variable :

next_available_handle=3
exec ${fh:=$next_available_handle}>fichier && (( next_available_handle++ ))

malheureusement, exec comprend $fh comme une commande, ne peut executer
3 et ferme le shell courant.

je pourrais suivre une piste du genre :
echo "exec $fh>toto" > cmd
source cmd

mais si quelqu'un connait une solution plus élégante, je lui en serait
reconnaissant.

cordialement
mc



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/