未找到 $PATH 中的程序

未找到 $PATH 中的程序

我正在运行 xubuntu 12.1,在执行我添加到路径中的程序时遇到了一些困难。

我尝试执行的程序是scan-view来自 Clang 的。我从源代码构建了 Clang,并按照建议添加了scan-build 和 scan-view 添加到我的 PATH

echo $PATH给我:

/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/paul/clang_build/Debug+Asserts/bin:/home/paul/llvm/tools/clang/tools/scan-build:/home/paul/llvm/tools/clang/tools/scan-view

这正是我所期望的。clang并且scan-build两者都工作正常,但是当我scan-view从 shell 尝试时,我得到:

The program 'scan-view' is currently not installed. You can install it by typing:
sudo apt-get install clang

但是,给出 scan-view 的完整路径可以打开它:

/home/paul/llvm/tools/clang/tools/scan-view/scan-view

我确信我犯了一个愚蠢的错误,但我已经尝试了所有我能想到的办法。

更新:我仍然遇到同样的问题。不确定这是否相关,但我注意到scan-build,正在运行的是 ruby​​ 脚本,而scan-view是 python 脚本。我不确定这是否有区别。

答案1

您是否验证了生成的二进制文件/脚本被标记为可执行?

chmod 755 SOMEFILE或者chmod +x SOMEFILE

为了验证目的而列出的示例:

ls -al $HOME/bin/juju-recycle-local

-rwxr-xr-x 1 charles charles 562 Jan 17 18:00 /home/charles/bin/juju-recycle-local

答案2

你应该只添加垃圾箱所在位置的路径,而不是完整路径

尝试

export PATH="/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/paul/clang_build/Debug+Asserts/bin:/home/paul/llvm/tools/clang/tools"

我不确定为什么scan-build有效。你可以发布输出whereis scan-build

相关内容