当我which mex
在 Linux 系统上时,它给出了一个路径,但我想将此路径更改为另一个路径。我如何将此默认路径设置为另一个位置?
答案1
在某个系统上我得到了这个输出:
$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
这意味着执行命令时
$ foo
shell 会寻找可执行文件按以下顺序排列文件:
/usr/local/bin/foo
/usr/bin/foo
/bin/foo
/usr/local/games/foo
/usr/games/foo
并运行遇到的第一个。
which foo
将返回第一个匹配的路径,如果目录foo
中不存在名为的可执行文件,则不返回任何内容PATH
(请注意which -a
将返回全部按顺序匹配,而不仅仅是第一个)。
例如,您可以重新排列变量中的目录PATH
以更改查找顺序,但这可能不是解决“真正”问题的方法。如果您在优先级较高的目录中有一个可执行文件“遮蔽”了所需的文件,则可以将第一个文件移开,或者直接使用其完整路径执行优先级较低的文件。
我认识到mex
这是 Matlab 安装的一部分。试着猜测一下你想要做什么,也许你可以暂时修改PATH
单个正在运行的进程,如下所示:
$ PATH=/home/user/myownexecs:$PATH matlab
您要优先处理的可执行文件的位置。这将暂时修改/home/user/myownexecs/mex
进程的变量,但不会持久地干扰整个系统。mex
PATH
matlab
你应该向问你什么真的想做以获得更合适的答案。