linux .profile脚本 - 模块加载错误,后跟echo

时间:2015-02-07 02:52:18

标签: linux environment-modules

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

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

回声"加载oracle / muscle ......" 模块加载oracle / muscle

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

我更喜欢:

模块加载oracle / muscle echo" oracle / muscle loaded"

但是当我这样做并登录时,我得到一个错误回复说,"无法找到oracle / muscle"的模块文件。我想它有某种语法错误,但我找不到真正描述这种错误的东西。任何帮助将非常感激。谢谢!

2 个答案:

答案 0 :(得分: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"

请测试并告诉我们结果

答案 1 :(得分:0)

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

您应先启用包含oracle/muscle模块文件的模块路径,然后再使用use子命令将其加载:

module use /path/to/modulefiles
module load oracle/muscle