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

时间:2013-09-16 13:02:47

标签: bash shell ubuntu scripting

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

现在突然间我的脚本无法工作,因为它们似乎是从/而不是当前目录启动的。例如,假设我的脚本如下所示:

cd players

rm *

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

有什么想法吗?这是以前的工作,它刚刚开始表演!

谢谢!

3 个答案:

答案 0 :(得分:2)

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

cd players && rm *

如果players成功更改为{{1}},则只删除{{1}}的内容。

答案 1 :(得分:1)

试试这个:

cd ./players

rm *

应该按预期工作!

答案 2 :(得分:0)

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

但这真的是在黑暗中拍摄。我建议更多地考虑如何开始编写脚本并对该主题进行调查。