从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标签是引用还是不引用,有两种略有不同的行为:
-
不带引号的标签 :内容是在通常的shell扩展之后编写的
-
引用标签 :这里的文档内容按字面处理,没有通常的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命令。