在脚本期间写入文件

Writing to a file during a script

我需要在脚本中间创建和写入一个文件。有没有办法做到这一点?通常,要创建和写入文件,我会使用 cat >file name,然后写入我需要的内容,然后 ctrl+d 保存并退出。但是,我无法在脚本中使用 ctrl+d 来使用 cat >。我会用什么?

您可以使用:

echo "file content" > file.txt

或者,如果您想在写入文件时查看内容:

echo "file content" | tee file.txt

有几个选项。例如

>file_name

确保您之后有一个名为 file_name 文件。如果你改写

touch file_name

那么file_name只有在之前不存在的情况下才会生成。如果它存在,它会更新它的时间戳。

你也可以做一个

[ -f file_name ] || touch file_name

这将生成 file_name,如果它不存在,但如果文件已经存在则保持时间戳不变。

您还可以使用脚本中包含的信息填充文件,方法是使用 so-called here-document:

cat >file_name <<'END_OF_THE_WORLD'
Hello
$PATH
Goodbye
END_OF_THE_WORLD

单引号确保您的文件确实包含文字字符串 $PATH,即没有对文本执行任何参数扩展。