我可能过于复杂化这个问题,但在Bash中,如果给定一行的条件,是否有一种将命令导入另一个命令的方法?
基本上,我目前有以下内容:
如果$check == 1,则将"foo"导入剪贴板,否则将内容输出到stdout并且管道不会激活,也不会写入剪贴板。我希望这是一个只调用echo一次的单行代码。
基本上,我目前有以下内容:
if [ "$check" -eq 1 ]; then
echo -n "foo" | xclip -selection clipboard
else
echo -n "foo"
fi
我想知道在Bash中是否有办法将这个转换为以下看起来的样子:
echo -n "foo" && [ "$check" -eq 1 ] | xclip -selection clipboard
如果$check == 1,则将"foo"导入剪贴板,否则将内容输出到stdout并且管道不会激活,也不会写入剪贴板。我希望这是一个只调用echo一次的单行代码。
cat -n
更改为剪贴板,则此功能完美运行。非常感谢,Ed。 - szybiaclipboard
还是cat -n
或者其他接受管道输入的命令,都与有条件地将输出传递给命令的问题无关。而且,并非所有人的系统都安装有clipboard
,因此,在本论坛中使用cat -n
作为示例比使用clipboard
更有普适性,因为每个人都可以拷贝/粘贴我的答案来尝试。 - Ed Morton