我需要在脚本中间创建和写入一个文件。有没有办法做到这一点?通常,要创建和写入文件,我会使用 cat>文件名,然后编写我需要的内容并按 ctrl+d 保存并退出。但是,我将无法在脚本中使用 ctrl+d 来使用 cat>。我会用什么?
有几个选项。例如
>file_name
确保您之后有一个名为file_name
的空文件。如果你写
touch file_name
那么file_name
只有在以前不存在时才会被生成。如果存在,则会更新其时间戳。
你也可以做一个
[ -f file_name ] || touch file_name
如果它不存在,这将生成file_name
,但如果文件已经存在,则保持时间戳不变。
您还可以使用脚本中包含的信息填充文件,方法是使用所谓的here-document:
cat >file_name <<'END_OF_THE_WORLD'
Hello
$PATH
Goodbye
END_OF_THE_WORLD
单引号确保您的文件确实包含文字字符串$PATH
,即不会对文本执行参数扩展。
您可以使用:
echo "file content" > file.txt
或者,如果要在写入文件时查看内容:
echo "file content" | tee file.txt