удар, получающий fd канала

Почему следующее не работает?

exec 3<|cat $0

Идея состоит в том, чтобы получить дескриптор файла (3) из канала (| кошка 0$).

1
задан Tim Post 2 June 2010 в 13:21
поделиться

2 ответа

Вы не можете смешивать exec и конвейеры таким образом. Похоже, вам нужна замена процесса:

$ exec 3< <(cat /etc/hosts)
$ grep ftp <&3
209.85.41.143 ftp.archlinux.org

http://tldp.org/LDP/abs/html/x17601.html#REDIR1

http://tldp.org/LDP/abs/html/process -sub.html

2
ответ дан 3 September 2019 в 00:07
поделиться
exec 3<>$0
while read -u 3 line;
do
  grep ftp $line;
done
exec 3>&-;
0
ответ дан 3 September 2019 в 00:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: