符号链接可执行文件在 OS X 上不起作用

符号链接可执行文件在 OS X 上不起作用

我正在尝试为 Mathematica ( )math创建符号链接。可执行文件可以运行,即使我通过 Finder 找到符号链接并单击它也可以运行。但是当我从命令行调用时,我得到了/usr/local/bin/Applications/Mathematica.app/Contents/MacOS/WolframKernelmath

$ math
dlopen(/SystemFiles, 1): image not found

我正在运行 OSX El Capitan 10.11.6。

这是被 dylib 包围的符号链接可执行文件不起作用,但那里给出的答案(创建别名)对我来说不起作用。我绝对需要另一个程序(SageMath)才能调用math,而这个程序不会读取我的别名定义。

答案1

将答案从评论移至真实答案。

有几个解决方案似乎可行:

  1. 在 /Applications/Mathematica.app/Contents/MacOS/ 文件夹中,创建一个类似的符号链接ln -s WolframKernel math,然后将该 /Applications/Mathematica.app/Contents/MacOS/ 添加到 shell 中的搜索路径中。
  2. 或者,编写一个名为“math”的小型 shell 脚本,并将其放在 PATH 上的某个位置(例如 /usr/local/bin,尽管我更喜欢将“scripts”文件夹与二进制文件分开)。shell 脚本应该非常简单,基本上包含 2 个命令:cd /Applications/Mathematica.app/Contents/MacOS/然后只需WolframKernel。您可能需要将参数从 shell 传递到 shell 脚本中,这并不难,但语法将取决于脚本中使用的 shell(而不是调用脚本的 shell)。

从评论来看,似乎 #1 应该可行,而且它是最简单的。但是,请注意 Mathematica 的更新可能会删除该符号链接,因此 #2 可能是一个更稳定的解决方案。

相关内容