在BASH中管道并执行多个参数

时间:2014-01-18 00:07:35

标签: macos bash command-line pipe

我想运行以下命令并将两者的管道输出到textedit:

pmset -g;回声; pmset -g断言|打开-f -a TextEdit

这不起作用,它只执行后者。

另外,无论如何要为同一个命令执行多个参数,如:

pmset -g {echo,assertions}

我确信这将成为一个基本问题。提前感谢任何回复者。

3 个答案:

答案 0 :(得分:2)

(pmset -g; echo; pmset -g断言)|打开-f -a TextEdit

答案 1 :(得分:1)

  

另外,无论如何要为同一个命令执行多个参数,如:

     

pmset -g {echo,assertions}

这完全取决于程序,在本例中为pmset。某些程序允许您多次使用开关,如pmset -g echo -g assertions

然而,pmset

似乎并非如此

答案 2 :(得分:1)

或者你可以使用花括号

{ pmset -g; echo; pmset -g assertions; } | open -f -a TextEdit

(pmset -g; echo; pmset -g assertions)正在子shell中执行命令 { pmset -g; echo; pmset -g assertions; }正在执行当前shell中的命令