覆盖特定用户的二进制文件路径

Vik*_*bin 9 scripting linux bash path

我的问题似乎微不足道,但我没有在互联网上找到任何有用的东西。我有一个二进制文件

/urs/bin/binary
Run Code Online (Sandbox Code Playgroud)

但它已经过时,例如在某些安装上可以使用较新的版本

/mount/new_version/binary
Run Code Online (Sandbox Code Playgroud)

有一个 bash 脚本以类似的形式调用这个二进制文件

binary -doSomething
Run Code Online (Sandbox Code Playgroud)

我需要此脚本来调用新版本的二进制文件而不是旧版本,但我无权更改此脚本。是一种以某种方式覆盖它的路径但仅适用于我的用户的方法吗?任何帮助,将不胜感激。

Den*_*son 11

如果二进制文件在/usr/bin/binary,并且脚本调用二进制文件而不指定完整路径,而是依赖于文件/usr/binPATH那么您可以简单地将新二进制文件的位置添加到用户的PATH. 把这样的东西放在他们的~/.bashrc

PATH=/mount/new_version:$PATH
Run Code Online (Sandbox Code Playgroud)

出于安全原因,脚本通常会指定二进制文件的完整路径以防止此类事情发生。