Bash elif打印出“ /Users/USER/Desktop/SCRIPT.sh:第30行:[4:未找到命令”

时间:2019-01-12 13:39:47

标签: bash

我正在尝试编写一个构建PPSSPP的脚本(与问题无关)并提供一个GUI。因此,例如,如果用户选择(类型)1,则我将运行git pull --rebase。它适用于某些选项,不适用于某些选项。并且始终对其中每一个包含“ elif”的行打印/Users/USER/Desktop/SCRIPT.sh: line 38: [ 1: command not found 3次

这里有足够的脚本来重现问题(很明显,我在正确的目录中找到了cd,并为其他选项提供了其他选项。)

printf "Please choose an option : "
read option

if [ $option = 0 ]
then
    exit

elif [ $option = 1 ]
then
    git pull --rebase
fi


1 个答案:

答案 0 :(得分:0)

尝试始终引用所有变量。同样,错误在于您没有在条件语句中比较值,而是使用了assign运算符。使用适当的比较运算符:

printf "Please choose an option : "
read option

if [ "$option" -eq 0 ]
then
    exit

elif [ "$option" -eq 1 ]
then
    git pull --rebase
fi