Я хочу оценить вывод программы, которая пишет в stdout и fifo при fd = 3.Вот моя первая попытка:
#!/bin/bash
#Create fd=3
exec 3> >(cat)
#Start the tar
tar -cvzf ha.tgz /dev/fd/1 /dev/fd/3
#Write data
echo stdout
echo 'fd=3'>&3
#close
exec 3>&-
Он создал ha.tgz и его содержимым были / dev / fd / 1 и / dev / fd / 3.Однако когда я извлекаю файлы, он в основном создает символические ссылки на / dev / fd / 1 и / dev / fd / 3 (что не работает).Я надеялся, что эти файлы будут обычными файлами, содержание которых будет таким же, как и в сценарии.Есть ли способ сделать это?