Я хочу получить выход программы, которая записывает в stdout и fifo в fd = 3. Здесь была моя первая попытка:Как tar a fifo
#!/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 (что не работает). Я надеялся, что файлы будут просто обычными файлами, чей контент будет тем, что я написал в скрипте. Есть ли способ сделать это?
Похоже, вопрос для сервера Fault или суперпользователя: http://serverfault.com/ или http://superuser.com/ – Orbling 2010-12-01 17:08:36
Если вы не поставляйте файл (ы) в tar, только поток данных, что вы ожидаете получить на другой стороне, когда вы его отмените? – 2010-12-01 17:19:24