我对 Shell Scripting 有点陌生,我想在脚本中创建一个新文件,并想添加内容然后关闭它。它不应该从用户那里获取参数。路径和内容中的所有内容都是预定义的。我该怎么做?
ger*_*ijk 28
只需使用输出重定向。例如
#!/bin/bash
echo "some file content" > /path/to/outputfile
Run Code Online (Sandbox Code Playgroud)
该>会写入所有stdin提供通过stdout的echo该文件outputfile在这里。
或者,您也可以tee为此使用管道。例如
echo "some file content" | tee outputfile
Run Code Online (Sandbox Code Playgroud)
请注意,任何示例都将覆盖现有的outputfile.
如果您需要附加到当前存在的文件,请使用或>>代替。>tee -a
如果您不接受此行中的用户输入,则任何用户输入都无法更改此处的行为。
Aar*_*all 22
我认为使用here doc在脚本中创建新文件更好。它看起来更干净,我相信这会提高可读性。
例如:
cat > filename <<- "EOF"
file contents
more contents
EOF
Run Code Online (Sandbox Code Playgroud)
该"-"中<<-是可选的,允许标签缩进将被剥离在文件被创建时。周围的引号"EOF"防止“here doc”进行任何替换。