我们企业使用的第三方调度应用程序未按 rm
预期执行命令。我的意思是,我希望rm -f $filetoremove
完成然后继续执行脚本中的下一行代码。
但我需要让它更好地执行rm -f
。
是否有另一种方法可以在不使用 的情况下删除文件rm
?我尝试过> delete_foobar.file
,但它只是清空它而不删除。
附加信息: 我的工作环境是一家大型企业。我编写了.sh
在调度应用程序之外测试的脚本。在调度软件之外,该rm -f $filetoremove
命令使用返回代码0
.但是,调度软件不会注册0
返回代码并立即退出,而不运行脚本的其余部分.sh
。这是有问题的,供应商已经承认了这个缺陷。
我不了解自动化软件的详细信息,也不了解它收到的确切返回代码。我所知道的是,当通过自动化软件运行时,如果我的脚本包含rm
.这就是为什么我正在寻找rm
.
是的,完成处理后删除该文件很重要。
答案1
这unlink
命令也是 POSIX 的一部分:
unlink <file>
答案2
你能跑吗shred
?如果是这样,那么:
shred -u <file to remove>
答案3
是否有另一种方法可以在不使用 的情况下删除文件
rm
?
busybox rm -f path/to/file
这是假设您的调度应用程序允许您不受限制地运行busybox
。由于您尚未指定它是哪个应用程序,因此我们并不真正知道限制是什么,但如果应用程序有一个简单的 molly 防护来阻止执行 just ,则上述内容应该有效rm
。
答案4
将文件移动到/tmp:
mv filename /tmp
并且它将在下次重新启动时删除。