当前位置: 技术问答>linux和unix
如何在shell脚本中使用source命令?
来源: 互联网 发布时间:2016-08-18
本文导语: 我写了一个shell脚本,其中有一条命令是:source ${HOME}/mms_home/cfg/cshrc 然后我用sh 命令运行这个脚本,发现cshrc文件中凡是使用setenv命令的语句都报错。 但是我单独执行source ${HOME}/mms_home/cfg/cshrc 这个命令又不报错。...
我写了一个shell脚本,其中有一条命令是:source ${HOME}/mms_home/cfg/cshrc
然后我用sh 命令运行这个脚本,发现cshrc文件中凡是使用setenv命令的语句都报错。
但是我单独执行source ${HOME}/mms_home/cfg/cshrc 这个命令又不报错。难道是sh命令无法调用source命令吗?
希望各位大牛们帮忙分析下,十分感谢
然后我用sh 命令运行这个脚本,发现cshrc文件中凡是使用setenv命令的语句都报错。
但是我单独执行source ${HOME}/mms_home/cfg/cshrc 这个命令又不报错。难道是sh命令无法调用source命令吗?
希望各位大牛们帮忙分析下,十分感谢
|
然后我用sh 命令运行这个脚本,发现cshrc文件中凡是使用setenv命令的语句都报错。
--------------------
看到这句 你说用sh命令运行的脚本
你把你运行脚本的命令写出来我看看
比如你的脚本名是test.sh
你不会是以sh ./test.sh的方式执行的吧? 虽然你的脚本第一句是#!/bin/csh 但是你这样运行的话 就指定的sh了 而非csh 那么setenv当然会报错
正确的执行方法./test.sh 或者csh ./test.sh
--------------------
看到这句 你说用sh命令运行的脚本
你把你运行脚本的命令写出来我看看
比如你的脚本名是test.sh
你不会是以sh ./test.sh的方式执行的吧? 虽然你的脚本第一句是#!/bin/csh 但是你这样运行的话 就指定的sh了 而非csh 那么setenv当然会报错
正确的执行方法./test.sh 或者csh ./test.sh
|
脚本第一句指定的是csh来执行么 #!/bin/csh