我正在运行 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