我是关于bash脚本的新手,我有一个全局变量,我想在我的脚本中改变他的值,但是仍然会得到一个没有找到的错误
这是我的剧本:
SCRIPT_BASE = "/home/scripts/test-Scripts"
CURRENT_SCRIPT_PATH = ""
declare -a arr=("A" "B" "C" "D")
for i in "${arr[@]}"
do
if [ $i == "A" ]; then
CURRENT_SCRIPT_PATH = $SCRIPT_BASE
echo -e "Current Path : $CURRENT_SCRIPT_PATH"
fi
done
当我运行此脚本时,我得不到CURRENT_SCRIPT_PATH命令 在此先感谢您的任何帮助
答案 0 :(得分:1)
在bash
中,您应该对if
条件中的空格非常谨慎,但也要为变量赋值。
在代码中替换以下树行:
SCRIPT_BASE="/home/scripts/test-Scripts"
CURRENT_SCRIPT_PATH=""
CURRENT_SCRIPT_PATH=$SCRIPT_BASE
如果你在变量名称之后保留一个空格bash会将其解释为命令,而你当前{{1}中没有命令SCRIPT_BASE
,CURRENT_SCRIPT_PATH
,CURRENT_SCRIPT_PATH
你有错误$PATH
。