0

所以我对linux脚本很陌生。在 .profile 中,我只想加载一个模块,然后打印出一条消息以提醒我它已加载,但是当我按该顺序进行操作时遇到错误。

当我有以下情况时它工作正常:

echo "正在加载 oracle/muscle..." 模块加载 oracle/muscle

(这就是我在 .profile 中的所有内容)

我宁愿拥有:

模块加载甲骨文/肌肉回声“甲骨文/肌肉加载”

但是当我这样做并登录时,我收到一条错误消息,“无法找到 oracle/muscle 的模块文件”。我想它是某种语法错误,但我找不到任何真正描述这种错误的东西。任何帮助将非常感激。谢谢!!

4

2 回答 2

0

您确定该部分是否正常工作:

echo "loading oracle/muscle..." module load oracle/muscle

??

我认为您应该将命令“echo”与“module”分开。我测试了您的配置(Debian 6,我使用了“modprobe”而不是“模块加载”):

root@ian:~# lsmod | grep loop
root@ian:~#
root@ian:~# grep modprobe .profile
echo "Loading loop" modprobe loop
root@ian:~# source .profile
Loading loop modprobe loop
root@ian:~# lsmod | grep loop
root@ian:~#

上述模块循环尚未加载。恕我直言,它应该看起来像这样:

root@ian:~# grep modprobe .profile
echo "Loading loop"; modprobe loop
root@ian:~# lsmod | grep loop
root@ian:~# source .profile
Loading loop
root@ian:~# lsmod | grep loop
loop                    9745  0
root@ian:~#

更重要的是,当模块成功结束时打印“echo”会更好:

module load oracle/muscle && echo "Module loaded"

请测试并让我们知道结果

于 2015-02-07T12:12:41.993 回答
0

您收到的“无法找到 oracle/muscle 的模块文件”错误是因为module无法找到oracle/muscle在当前启用的模块路径中调用的模块文件。

在使用子命令oracle/muscle加载它之前,您应该启用包含模块文件的模块路径:use

module use /path/to/modulefiles
module load oracle/muscle
于 2018-07-30T19:40:10.103 回答