У меня есть Баш скрипт, который обычно работает следующим образом:Подставив команду в списке параметров другой команды в Баш
[...]
file=$1
docommand $x $y $file $z
, но я хотел бы добавить опцию в сценарий, который бы сказать его получить данные из команды, используя anonymous named pipe вместо файла. Т.е., я хотел бы сделать что-то аппроксимирующих
file=<(anothercmd arg1 $1 arg3)
и есть мой
docommand $x $y $file $z
расширить до
docommand $x $y <(anothercmd arg1 $1 arg3) $z
Есть ли способ, чтобы получить право квотирование для достижения этой цели ?
Для более конкретного контекста сценарий рассматривает выходные продукты из регрессионных тестов, как правило, отличает их от файла с ожидаемым выходом. Я хотел бы дополнительно передать ревизию и разбить на ожидаемый результат, поэтому diff $from $to
будет расширяться до diff <(hg cat -r $fromrev $from) $to
.
"анонимный именованный канал" ... это не то, что смешное имя? –
Правильный термин - * замещение процесса *. Какая у вас проблема с цитированием? Правила цитирования ничем не отличаются от замены процесса в другом месте. – cdarke
Я не думаю, что вы можете это сделать. Именованный канал, используемый для замещения процесса, является временным и уходит в конце командной строки, где он используется. – Barmar