试图在一行中将多个命令附加 (>>) 到一个文件

Trying to append (>>) multiple commands to a file in one line

我正在尝试找到一种方法来捕获两个命令的标准输出,这两个命令 运行 在一行中背靠背。

例如,如果我有一个名为“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