2015-11-22 95 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