我正试图找到一种方法来捕获两个命令的stdout,这两个命令在一行中背靠背运行。
例如,如果我有一个名为";practice.txt":
echo Hello World; pwd >> practice.txt
我希望文件现在包含:
Hello World
/home/sean
我不确定这是否已经是一个常见的问题,但经过快速搜索,我找不到其他人在问。如有任何帮助,我们将不胜感激。
如果只想运行一次,可以考虑使用subshell
( echo "Hello World" ; pwd ) >> practice.txt
如果您希望多次运行集合(也许在shell的.*rc
文件中声明了一些有用的东西(,则可以将两个调用都放入一个函数中
fn() {
echo "Hello World"
pwd
}
这也可以在单行上完成
% fn() { echo "Hello World" ; pwd }
% fn >> practice.txt
% cat practice.txt
Hello World
/home/sean