2017-04-19 65 views
1

我希望創建一個文件,其中包含一些我知道的內容。用bash的一行創建文件

如何在bash的幾行代碼中執行此操作?

該命令將在單個腳本中使用,所以它應該創建文件,自動添加文本,保存並自動退出,無需人工干預。

我知道

cat >> some.text 
type some stuff 
ctrl + D 

會工作。但是有沒有一種純粹的命令行方式呢?

感謝

+0

我假設你知道'cat >> some.txt'會將**追加到文件中已有的任何東西 - 嘗試運行兩次。如果你想覆蓋,使用一個'>'。 –

+0

@MarkSetchell THanks!很高興知道! – user1017674

回答

3

使用 「立即文檔」:

cat >> some.text << 'END' 
some stuff here 
more stuff 
END 

分隔符(這裏END)是一個任意字。在<<之後引用此分隔符將確保不對內容執行擴展。

+0

THANKs。像魔術一樣工作。 – user1017674

0

你也可以做到以下幾點: echo 'some stuff' > your/file.txt

爲多,這裏是另一個例子: printf "some stuff\nmore stuff" >> your/file.txt

+0

這將工作與多行? – user1017674

+0

更新了我對多行的答案。 – Jacob

0

爲了使其多了也possilbe呼應的 「執行模式」:

echo -e "line1\nline2" > /tmp/file 

所以\ n將使回車。