在 shell 中的目录中是否可以删除目录

在 shell 中的目录中是否可以删除目录

我有一个用于运行程序的目录
。/usr/bin/my-dir

我需要从目录内运行该程序,因此我必须转到 cd /usr/bin/my-dir ./my-program

我有一个从远程机器更新我的程序的脚本,如下所示: rm -rf /usr/bin/my-dir mv my-program /usr/bin/my-dir

问题是当我通过 ssh 进入机器并位于目录 /usr/bin/my-dir 时,脚本失败,因为它无法成功执行 rm -rf /usr/bin/my-dir (它删除了所有内容但没有删除目录)

有没有办法解决这个问题(例如,通过某种方式配置 shell 以允许我在目录中删除该目录?)或其他解决方案?目前,我退出目录,运行脚本,然后返回目录,但我每天必须执行数百次此操作 - 一定有更有效的方法来做到这一点。

答案1

以防万一对任何人有帮助。事实证明,shell 的工作方式是,如果在不同的 shell 实例中删除当前目录,然后重新创建并填充文件,则原始 shell 将显示一个空目录。

要再次查看文件,只需前往

cd .

这导致通过不删除目录本身(仅删除和替换特定文件)来解决原始问题。

相关内容