代码之家  ›  专栏  ›  技术社区  ›  e2rabi

更改变量insead loop Bash的值[重复]

  •  0
  • e2rabi  · 技术社区  · 8 年前

    我是bash脚本的新手,我有一个全局变量,我想在脚本中插入一个循环来更改它的值,但仍然得到一个commande找不到的错误

    这是我的剧本:

    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
    

    运行此脚本时,未找到当前的\u script\u PATH命令 提前感谢您的帮助

    1 回复  |  直到 8 年前
        1
  •  1
  •   e2rabi    8 年前

    在里面 bash 您应该对中的空格非常谨慎 if 条件,以及为变量赋值时。

    在代码中替换以下树行:

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

    如果在变量名后面保留空格,bash会将其解释为命令,而您没有命令 SCRIPT_BASE , CURRENT_SCRIPT_PATH , 当前\u SCRIPT\u路径 在您当前的 $PATH 您有错误 command not found 这是生产的。