因此,我对linux相当陌生,我试图找出它的来龙去脉,我注意到安装的软件行为不同,例如在我的OpenSUSE上,我有软件OpenFOAM和MATLAB.在我的.bashrc别名中,alias OF='source /..../bashrc'跟在别名D0后面,但是matlab别名os如下所示,这意味着matlab有一个可执行和开放的脚本来运行它.
我的问题是,为什么软件有两种不同的运行方式?
我没有亲自安装软件,他们已经在那里了。
谢谢!
发布于 2021-09-25 13:37:38
当涉及到特定软件的运行时,开发人员有不同的方法。其中一些人更喜欢读取配置文件(S)中的所有参数,比如matlab。其他人更喜欢在环境变量和命令行中设置一些参数,比如openFOAM。
对于一些软件开发人员来说,被迫使用shell脚本,因为某些参数只能在启动时间设置(比如大多数java软件-堆大小、GC等等)。对于其他软件开发人员,希望/需要更改环境变量(如LANG、LD_LIBRARY_PATH等),w/o将其设置为整个环境/终端,因此他们也使用shell脚本。
这两种方式都有效(如你所见)。
发布于 2021-09-25 12:03:47
并不是所有的语言都可以编译并具有可执行性。同样,有时可以从shell脚本调用可执行文件,该脚本充当包装器,将正确的参数传递给可执行文件。原子编辑器就是一个例子。
Linux可以执行二进制文件,只要它们具有正确的体系结构,并解释任何解释/脚本语言代码,前提是它有一个解释器。位于$PATH中的可执行文件可以从shell中调用。对于其他可执行文件,您需要提到可执行文件的路径。此外,可执行文件需要为用户/组设置执行位。
https://unix.stackexchange.com/questions/670586
复制相似问题