我想创建一个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
文件夹不存在,我也会收到类似错误。
答案 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