Данная программа A
; Я пишу скрипт, который выполняет следующую команду;coreutils; Где программа `pipe`?
echo "Text-To-Be-Processed" | A | cat
A
A
не имеет существенного значения для функциональности, но облегчает использование. У меня есть чек, чтобы определить, доступен ли A
; Если это не так, я хотел бы заменить A
на программу no-op (т. Е. Программу pipe
(|
)).
Такое, что моя команда становится;
echo "Text-To-Be-Processed" | pipe | cat
Я мог бы просто расшириться на ли A
доступен, но это оставляет меня с дублированием кода (остальной части команды). Я рассмотрел использование именованных каналов, но все это похоже на ненужные обходные пути.
Мое текущее решение: ./pipe.sh
; if read -t 0; then cat; else echo "$*"; fi
, что позволяет входить в раствор, но чувствует себя неправильно.
ПРИМЕЧАНИЕ: Замена A
командой |
as;
echo "Text-To-Be-Processed" | | | cat
Не работает.
Я только что осознал главный недостаток моего первоначального поста; а именно, что я передаю аргументы 'A', которые нужно игнорировать' pipe'. Большинство программ отклоняются с ошибкой; 'invalid option'. – Skeen