以下是我的Bash脚本的摘录
#!/bin/sh
# Check SPEED parameter validity
if [ "$4" = "SPEED" ]
then
source ${SIM_DIR}/setEnv.sh speed
elif [ "$4" = "NORMAL" ]
then
pushd ${SIM_DIR}/scripts
source setEnv
else
ERROR "Invalid SPEED|NORMAL parameter ($4)."
exit 1
fi
在命令行中,我在运行脚本时将选项设为NORMAL
。 setEnv.sh
位置中没有名为${SIM_DIR}/scripts
的文件。但是有一个名为setEnv
的文件,其第一行是#!/bin/bash -x
。我收到以下错误:
第176行:source:setEnv:找不到文件
有人可以指出我的剧本有什么问题吗?
答案 0 :(得分:2)
source
使用PATH
查找来查找不包含斜杠的名称,并且PATH
(正确)不包含.
,因此不会搜索当前目录为setEnv
。使用source ./setEnv
。
source
忽略了shebang线。