1

目前我从命令行使用数学软件“Maple”,基本上是作为一个强大的计算器。我编写了一个简单的 maple “库”,其中包含我的辅助函数。我想在 maple 启动时加载它。(此任务几乎等同于在 shell 启动时加载 .bashrc 或 .bash_profile 文件)。

如何在 Maple 中做到这一点?它比预期的要复杂,并且记录不充分。

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

在枫壳/REPL 我这样做是为了加载这个文件(然后是标准库):

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

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

我希望在 maple 启动时执行上面的两个命令。这个怎么做?我的主目录中有一个 .maple/12/ 目录,在那里我找到了一个文件“maplerc”(这不是一个点文件)。这是要走的路吗?

更新: 供应商 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

4

1 回答 1

2

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

您应该已经有一个 Linux 用户帐户的主目录。您应该能够使用以下命令将目录更改为该位置,

cd ~

或者,

cd $HOME

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

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

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

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

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

maple -i somedirectory/somefile

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

于 2013-10-10T05:08:24.753 回答