当我更改bash脚本(Ubuntu 10.04)时,脚本会被更改,但是当我运行它时,它会运行旧版本,并且会忽略所做的更改。 还有一些文件,它只是说文件不存在(即使它确实......)
我认为它与权限有关,即使我已确保文件标记为所有用户和可执行文件的Read& Write。但这可能是我需要在“更高层次”上改变的许可? 绝望
答案 0 :(得分:1)
我更改了文件夹的权限,然后重新启动了计算机。然后它工作(但必须重新启动,我认为有点奇怪)。无论如何它现在有效:)
答案 1 :(得分:1)
如果您想知道在Linux / Unix上运行哪个版本的文件,通常可以输入:
which prog
其中“prog”是程序的名称。例如,如果您想知道“emacs”的位置,或者您实际使用的是emacs的哪个副本,可以输入:
which emacs
在我的机器上,返回:
/usr/bin/emacs
在您的情况下,如果“which”返回的路径与您正在编辑的文件的名称不匹配,那么这将解释您的困惑,并指出您正确的方向来解决问题。我还会通过输入以下内容来检查PATH环境变量的内容:
echo $PATH
如果您在包含正在编辑的文件的目录之前的路径中看到另一个目录,则说明了该问题。另外,请注意“。”出于安全原因,(当前目录)永远不会在路径上,或者至少不应该在路径上。如果要在当前目录中运行程序,请显式使用“./prog”形式,以确保它在当前目录中运行程序“prog”。
答案 2 :(得分:0)
你告诉我这与权限无关。
在编辑器和终端中进行双重,三重,四重检查,您正在编辑和执行相同的文件。这给我带来了不少WTF时刻。
您在终端中输入的确切命令会有所帮助。