maple:如何在启动时包含我的库

时间:2013-10-09 20:44:34

标签: shell math customization read-eval-print-loop maple

目前我使用数学软件" Maple"从命令行,基本上作为一个强大的计算器。 我写了一个简单的枫树"图书馆"包含我的帮助函数。我想在枫叶启动时加载它。 (此任务几乎等同于在启动shell时加载.bashrc或.bash_profile文件)。

如何在Maple中执行此操作?它比预期的要复杂得多,而且记录不完整。

我现在拥有的是在我的主目录中的Maple目录中编译的Maple库。

在枫树shell / REPL上我这样做是为了加载这个文件(然后是std lib):

libname := "/home/knut/.maple/12/mylibs", "/opt/maple12/lib";
with(knb_ee);

[argumentd,hz2rad,listPhasors,phase,phased,phasorTheta,phasorThetaSum,polard,proc1,proc2,rad2hz]

我想在枫树启动时执行上面的两个命令。这该怎么做? 在我的家庭目录中有一个.maple / 12 / dir,在那里我找到了一个文件" maplerc" (这不是一个dotfile)。这是要走的路吗?

更新 供应商Maplesoft的这个描述对我来说似乎有误导性,因为没有如下所述的目录:

  

UNIX和Linux

     

在UNIX和Linux下,将调用个人初始化文件   .mapleinit,全局初始化文件称为init。该   初始化文件中的命令将由所有用户执行   通过将文件放在Maple lib目录中来实现网络   例如,$ MAPLE / lib / init。

     

执行用户的个人命令集,即初始化文件   应该放在UNIX下用户的主目录中,例如,   $ HOME / .mapleinit。

     

Maple在读取之前读取并执行网络初始化文件   个人初始化文件。

http://www.maplesoft.com/support/help/Maple/view.aspx?path=worksheet/reference/initialization

1 个答案:

答案 0 :(得分:2)

尝试将/home/knut/.mapleinit创建为新文件,其中包含您要执行的命令。

您应该已经拥有Linux用户帐户的主目录。您应该能够使用诸如

之类的命令将目录更改为该位置
cd ~

,或者

cd $HOME

最后一个使用环境变量HOME,您可以通过发出命令echo $HOME来检查其分配值。从您的帖子看,您的主目录似乎是/home/knut

无论如何,最简单的方法是在您的主目录中创建一个新文件.mapleinit,并在该明文文件中放置您希望在启动时自动执行的Maple命令。

这就是文档提到$HOME/.mapleinit的原因,因为该文件通常会出现在您的主目录中。在您手动创建该文件之前,该文件将不存在。这是正常的(对于Maple)。

即使存在~/.mapleinit这样的初始化文件,您仍然可以通过将-s选项传递给maple脚本来启动而不使用它。

或者您可以使用-i选项指向您选择的任何其他文件作为初始化文件。例如,

maple -i somedirectory/somefile

另一种方法(如果必须转义引号则稍微棘手)是在调用-c脚本时使用maple选项的一个或多个实例。这是您在启动时发出几个不同命令的另一种方法。事实上,有很多方法可以实现您的目标。