如何防止在$ PATH上查找可执行文件?

时间:2012-03-02 19:50:25

标签: linux path

我正在使用一个GNU Ada编译器GNAT不完整安装的系统。脚本(在gdb testsuite中)找到/usr/bin/gnatmake并假设它可以运行Ada编译。这些失败是因为链接器找不到libgnat.so

我没有root访问权限,因此无法安装libgnat.so或删除/usr/bin/gnatmake

有没有办法阻止脚本在/usr/bin中找到gnatmake?我显然无法从路径中删除/usr/bin

2 个答案:

答案 0 :(得分:2)

您可以安装gnatmake的私有工作版吗?

如果可以,那么您可以在gnatmake目录中为$HOME/bin的工作版本创建符号链接:

ln -s /path/to/real/gnatmake ~/bin/gnatmake

然后将您自己的$HOME/bin目录插入$PATH

export PATH="$HOME/bin:$PATH"

现在,shell会在gnatmake之前找到您的/usr/bin版本。

答案 1 :(得分:0)

尝试sudo脚本作为您自己(sudo -u you ./script)。如果您不允许sudo,也可以尝试exec VAR=val ./script。第三种方法是使用“假”空脚本向$PATH添加另一个目录,以遮蔽ADA文件。