更改变量insead循环Bash的值

时间:2018-03-02 08:41:58

标签: linux bash shell

我是关于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命令 在此先感谢您的任何帮助

1 个答案:

答案 0 :(得分:1)

bash中,您应该对if条件中的空格非常谨慎,但也要为变量赋值。

在代码中替换以下树行:

SCRIPT_BASE="/home/scripts/test-Scripts"
CURRENT_SCRIPT_PATH=""
CURRENT_SCRIPT_PATH=$SCRIPT_BASE

如果你在变量名称之后保留一个空格bash会将其解释为命令,而你当前{{1}中没有命令SCRIPT_BASECURRENT_SCRIPT_PATHCURRENT_SCRIPT_PATH你有错误$PATH