如何连接两个命令的输出?

问题描述 投票:0回答:3

如何连接

pwd
ls
的输出并将其添加到名为 f1 的文件中?这不起作用:

pwd, ls > f1
bash unix
3个回答
9
投票

使用复合命令:

{ pwd; ls; } > f1

2
投票

也许您正在寻找更困难的事情,但文件附加是一个简单的解决方案:

pwd >> f1
ls >> f1

如果您更喜欢 chepner 或 Mark Setchell 的答案,这里有一个解释:

  1. 您可以使用带有括号的子shell:

    ( pwd; ls; ) > f1
    
  2. 或子命令:

    { pwd; ls; } > f1
    

使用子 shell,父 shell 将无法访问子 shell 环境。由于创建了新的孤立进程,因此不会保留变量。

并且使用子命令初始化的变量将被保留并可与父级一起使用。

两者都有父环境。

参考:


1
投票

与@chepner相比,节省了一个分号和2个空格,花费了一个进程:-)

(pwd;ls) > f1
© www.soinside.com 2019 - 2024. All rights reserved.