2015-11-22 31 views
0

給定程序A;我正在編寫一個腳本,它運行以下命令;coreutils; `pipe`程序在哪裏?

echo "Text-To-Be-Processed" | A | cat 

A對於功能而言是非必需的,但是可用性簡單。我有一張支票來確定A是否可用;如果情況並非如此,我想用一個無操作程序(即pipe程序(|))替換A

這樣我的命令就變成了;

echo "Text-To-Be-Processed" | pipe | cat 

我可以簡單地在是否A分公司是可用的,但是這給我留下了重複的代碼(的命令的其餘部分)。我已經考慮過使用命名管道,但這似乎是不必要的解決方法。

我現在的解決方案是./pipe.sh; if read -t 0; then cat; else echo "$*"; fi,這可以使下拉式解決方案,但感覺錯誤。

注意:用|命令替換A命令爲;

echo "Text-To-Be-Processed" | | | cat 

也不起作用。

回答

0

也許三通到/ dev/null。在:

echo "Text-To-Be-Processed" | tee /dev/null | cat 
+0

我剛剛意識到我原來的職位的主要缺點;即我將參數傳遞給'A',這個''''需要被'pipe'忽略。大多數程序拒絕,錯誤都是一樣的; '無效選項'。 – Skeen