首先,让我们来看一个 Unix 的例子。假设 /some/path/foo
和 /some/other/path/foo
都是可执行文件。同时,假设 /some/path
和 /some/other/path
都在 $PATH
环境变量中出现,且 /some/path
出现在前面。那么,如果我运行
% foo
被运行的foo
是/some/path/foo
。这就是$PATH
变量的作用。
然而,我总是可以通过引用其完整路径来调用其他的foo
,像这样:
% /some/other/path/foo
换句话说,一旦我使用完整路径引用命令,就不需要进行名称解析,因此 $PATH
在决定运行哪个 foo
上起不到任何作用。
重要的是,这种机制不需要修改 $PATH
变量。只需避开它即可。
有了这个例子,MATLAB 是否提供了一种方法(而不是更改搜索路径)来从与 MATLAB 搜索路径中第一个候选文件不同的文件中运行函数 foo
?
userpath
了吗? - R. Schifinicd
命令切换到所需函数或脚本的路径。MATLAB 的run
是在脚本上使用此命令的一个轻量级封装。 - sco1