Jer*_*ams 4 command-line bash scripts echo
我创建了一个安装了一些应用程序的 bash 脚本并编写了一个 .conf 文件。我希望我的 bash 脚本为我创建文件,这样我就可以运行该文件并进行设置。有没有比这更好的方法,或者我是否以最好的方式做到了。只是想知道我还有什么其他选择。
注意:该文件确实有效
if [ ! -e ~/.conf/file/path ]; then
touch ~/.conf/file/path
echo "
long
conf
list
here
..." >> ~/.conf/file/path
fi
Run Code Online (Sandbox Code Playgroud)
echo "text" >> /path/to/file如果文件不存在就执行。
文本重定向和附加的可爱之处在于,如果您的输出是文件路径,并且该文件尚不存在,它将创建该文件,无论是否使用>或>>。touch通常根本不需要文件。(不过,如果您确定该文件不存在,只需使用>代替>>;>>是附加到文件,但如果该文件不存在,那么...)
就您的脚本而言,您可以使用>重定向到文件。您询问该文件是否不存在(最好将其表示为if ! [ -e ~/.conf/file/path ];),因此在这种特殊情况下不需要使用append运算符(即使它工作正常)。
至于将长多行配置打印到文件中,Panther 已经在Thomas 的回答下的评论中暗示使用此处文档。这是我个人在脚本中编写“帮助消息”或选项信息时常用的技术
你可以轻松地做这样的事情:
bash-4.3$ cat <<EOF > out.txt
parameter1="value 1"
parameter2="value 2"
EOF
bash-4.3$ cat out.txt
parameter1="value 1"
parameter2="value 2"
bash-4.3$
Run Code Online (Sandbox Code Playgroud)
或者创建一个特定的函数,write_config()使您的脚本更加惯用,可以这么说:
bash-4.3$ cat <<EOF > out.txt
parameter1="value 1"
parameter2="value 2"
EOF
bash-4.3$ cat out.txt
parameter1="value 1"
parameter2="value 2"
bash-4.3$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2028 次 |
| 最近记录: |