2014-11-04 45 views
3

如何連接pwdls的輸出並將其添加到名爲f1的文件中?這是不工作:如何連接兩個命令的輸出?

pwd, ls > f1 
+1

你的意思_on一個line_或你的意思_in一個_文件? – 2014-11-04 22:01:00

回答

8

使用化合物命令:

{ pwd; ls; } > f1 
+0

不打算將它們連接到一行上。如果那真的是他想要的。 – 2014-11-04 21:58:20

+0

我解釋爲一個命令行,vs'pwd> f1; ls >> f1'。 – chepner 2014-11-04 21:59:39

+0

我明白了,那可能正是他想要的。它只是不清楚。 – 2014-11-04 22:00:30

1

保存分號和2米的空間,成本:-)

(pwd;ls) > f1 
1

也許一個過程VS @chepner你想要做更難的事情,但文件附加是一個簡單的解決方案:

pwd >> f1 
ls >> f1 

如果你喜歡chepner的或者馬克·瑟特查的答案,這裏是一個解釋:

  1. 您可以使用子shell用括號:

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

    { pwd; ls; } > f1 
    

使用子shell,父shell將無法訪問子環境。由於創建了新的孤立進程,所以變量不會保留。

並且子命令初始化變量被保留並且可與父類一起使用。

兩者都有父母環境。

參考:

+0

爲了等同於OP的問題,您需要'pwd> f1; ls >> f1'否則你會追加到一個文件,如果已經存在,而原始文件覆蓋原來存在的任何文件。另外,我的命令的重點是「省略」分號和空格 - 你已經重新引入。 chepner先生的解決方案不是一個子命令,而是一個「複合命令」 - 即由多個部分組成的命令。 – 2014-11-05 09:24:30