【发布时间】:2016-04-16 22:22:05
【问题描述】:
作为序言,考虑这个来自 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
IOW,一旦我通过完整路径引用命令,就不需要进行名称解析,因此 $PATH 在决定运行哪个 foo 时没有任何作用。
重要的是,这种机制不需要修改$PATH 变量。一个人只是回避它。
考虑到这个例子,MATLAB 是否提供了一种方法(除了更改搜索路径)从与 MATLAB 搜索路径中的第一个候选文件不同的文件中运行函数 foo?
【问题讨论】:
-
你见过
userpath吗? -
参见 MATLAB 的function precedence order。最简单的选项是
cd到所需函数或脚本的路径。 MATLAB 的run是一个用于脚本的瘦包装器。 -
另见stackoverflow.com/questions/13072470/… 以及调用不在路径中的函数的方法。
标签: matlab