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

Modified on: Thu, 14 Jun 2018 09:09:53 +0800

我不想手动编写文件,因此我制作了一个shell脚本。
有没有办法写&自动保存文件而不让用户按键?

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

^这将在* .sh文件中

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

最佳答案

对于更复杂的命令序列,您应该考虑使用cat命令和此处的文档。基本格式是

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

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

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

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

  3. 醇>

    例如,请考虑以下脚本

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

    结果

    #!/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"
    

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


相关问答

添加新评论