目前我使用数学软件" 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
答案 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
选项的一个或多个实例。这是您在启动时发出几个不同命令的另一种方法。事实上,有很多方法可以实现您的目标。