从Shell脚本创建,写入和保存文件

我不想手动编写文件,所以我制作了一个shell脚本。 有没有办法在不让用户按键的情况下自动编写和保存文件?

sudo nano blah #write stuff to file #save file #continue 

^这将在* .sh文件中

或者是否有另一种在脚本中创建简单文本文件的方法?

对于更复杂的命令序列,您应该考虑将cat命令与here文档一起使用 。 基本格式是

 command > file << END_TEXT some text here more text here END_TEXT 

根据END_TEXT标签是引用还是不引用,有两种略有不同的行为:

  1. 不带引号的标签 :内容是在通常的shell扩展之后编写的

  2. 引用标签 :这里的文档内容按字面处理,没有通常的shell扩展

例如,请考虑以下脚本

 #!/bin/bash var1="VALUE 1" var2="VALUE 2" cat > file1 << EOF1 do some commands on "$var1" and/or "$var2" EOF1 cat > file2 << "EOF2" do some commands on "$var1" and/or "$var2" EOF2 

结果是

 $ cat file1 do some commands on "VALUE 1" and/or "VALUE 2" 

 $ cat file2 do some commands on "$var1" and/or "$var2" 

如果从脚本输出shell命令,则可能需要引用的表单。

没有必要与编辑混淆这样做。

您可以使用简单的echo命令将某些内容附加到文件中。 例如

 echo "Hello World" >> txt 

将“Hello world”附加到文件txt 。 如果该文件不存在,则将创建该文件。

或者,如果该文件可能已存在,并且您要覆盖它

 echo "Hello World" > txt 

对于第一行:和

 echo "I'm feeling good" >> txt echo "how are you" >> txt 

对于后续行。

最简单的.sh脚本只能包含一组echo命令。