Pourquoi ce qui suit ne fonctionne pas?bash obtenir un fd d'un tuyau
exec 3<|cat $0
L'idée est d'obtenir le descripteur de fichier (3) d'un tube (| cat $ 0).
Pourquoi ce qui suit ne fonctionne pas?bash obtenir un fd d'un tuyau
exec 3<|cat $0
L'idée est d'obtenir le descripteur de fichier (3) d'un tube (| cat $ 0).
Vous ne pouvez pas mélanger exec et les tuyaux de cette façon. Il semble que vous avez besoin est une substitution de processus:
$ exec 3< <(cat /etc/hosts)
$ grep ftp <&3
209.85.41.143 ftp.archlinux.org
Bien sûr, cela sert d'exemple générique, si vous n'avez besoin que d'un "chat", vous pouvez écrire directement: "exec 3
exec 3<>$0
while read -u 3 line;
do
grep ftp $line;
done
exec 3>&-;
cela fait 3 un fd de $ 0 fichier - pas un tuyau. Voir la réponse – name
Qu'est-ce que vous essayez de le faire? Cette séquence n'a pas de sens. –
voir la réponse. – name