在目录中创建一个空文件,该文件可能存在也可能不存在

时间:2013-07-08 03:14:50

标签: bash shell

我想创建一个shell脚本,创建一个空文件为/data/app/log/app.log.pos。 / data / app / log / dir可能存在也可能不存在。如果它不存在,它应该创建它。

当路径不存在时,我运行

sudo cat > /data/app/log/app.log.pos

我得到了

-bash: /data/game/log/app.log.pos: No such file or directory

此外,即使/data/app/存在但log文件夹不存在,我也会收到类似错误。

1 个答案:

答案 0 :(得分:1)

mkdir -p /data/app/log/
> /data/app/log/app.log.pos

如果您需要使用sudo,则应sudo整个脚本。避免将sudo调用放入脚本中是一种很好的做法。相反,调用脚本的人应该调用sudo

但如果您真的想在脚本中执行sudo,请执行以下操作:

mkdir -p /data/app/log/
sudo rm /data/app/log/app.log.pos       # optional
sudo touch /data/app/log/app.log.pos