所以我对linux脚本非常陌生。在.profile中我只想加载一个模块然后打印出一条消息来提醒我它已加载,但是当我按顺序执行时我遇到了错误。
我有以下情况时工作正常:
回声"加载oracle / muscle ......" 模块加载oracle / muscle(这就是我在.profile中的所有内容)
我更喜欢:
模块加载oracle / muscle echo" oracle / muscle loaded"
但是当我这样做并登录时,我得到一个错误回复说,"无法找到oracle / muscle"的模块文件。我想它有某种语法错误,但我找不到真正描述这种错误的东西。任何帮助将非常感激。谢谢!
答案 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