如果不存在则创建包含内容的文件

Tho*_*ggi 4 unix bash shell json

如果文件不存在,我正在寻找一种方法来创建具有特定内容的文件。

此命令将覆盖文件内容。

echo "{}" > test.json
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种方法来编写一个空的 json 文件而不覆盖内容。

hee*_*ayl 5

引入一个文件是否存在的测试:

[ -f test.json ] || echo "{}" > test.json
Run Code Online (Sandbox Code Playgroud)

[ -f test.json ]将检查文件是否存在并且是一个普通文件。如果文件不存在 ( ||),echo "{}" > test.json将运行。


DJ.*_*DJ. -2

echo '{}' >> test.json
Run Code Online (Sandbox Code Playgroud)

双箭头将追加而不是覆盖文件。

或者,如果您想在创建之前检查文件是否存在

if [ ! -f test.json ]; then
  echo "{}" > test.json
fi
Run Code Online (Sandbox Code Playgroud)