脚本始终从 / 而不是当前目录运行



所以得到这个。我已经使用 ./something.sh 和 sh something.sh 运行我的脚本大约 3 个月了。这些脚本始终从我启动它们的目录运行。

现在突然间

我的脚本不起作用,因为它们似乎从/而不是当前目录启动。例如,假设我的脚本如下所示:

cd players
rm *

它不会进入播放器,而是出错,因为它找不到文件夹"播放器",然后尝试删除整个根文件系统。(幸运的是,我没有将这些作为Sudo或Root运行)。

有什么想法吗?这以前是有效的发现,现在才开始起作用!

谢谢!

为了安全起见,您可以将线路更改为

cd players && rm *

只有当它能够成功更改为players内容时,它才会删除它的内容。

试试这个:

cd ./players
rm *

应该按预期工作!

我只能猜测您的脚本现在以不同的方式启动; 我能想到的最可能的是,它们是由没有主目录(不再)或类似目录的用户的 cron 作业调用的。

但这真的是黑暗中的一枪。 我建议更多地考虑您的脚本是如何开始的,并研究该主题。

最新更新