所以得到这个。我已经使用 ./something.sh 和 sh something.sh 运行我的脚本大约 3 个月了。这些脚本始终从我启动它们的目录运行。
现在突然间我的脚本不起作用,因为它们似乎从/而不是当前目录启动。例如,假设我的脚本如下所示:
cd players
rm *
它不会进入播放器,而是出错,因为它找不到文件夹"播放器",然后尝试删除整个根文件系统。(幸运的是,我没有将这些作为Sudo或Root运行)。
有什么想法吗?这以前是有效的发现,现在才开始起作用!
谢谢!
为了安全起见,您可以将线路更改为
cd players && rm *
只有当它能够成功更改为players
内容时,它才会删除它的内容。
试试这个:
cd ./players
rm *
应该按预期工作!
我只能猜测您的脚本现在以不同的方式启动; 我能想到的最可能的是,它们是由没有主目录(不再)或类似目录的用户的 cron 作业调用的。
但这真的是黑暗中的一枪。 我建议更多地考虑您的脚本是如何开始的,并研究该主题。