Bash if / else错误

时间:2015-12-23 12:37:57

标签: linux bash

我正在编写一个用bash编译程序的脚本,第84行的if / else语句不起作用。我收到这个错误:

sudo pip install geojson

有什么问题? http://www.pasteall.org/62904/bash

提前致谢!

1 个答案:

答案 0 :(得分:1)

“不工作”非常微弱。但是,我会试一试......

如果在未输入任何回复的情况下按下回车,则$putProgramOn为空,并且 if [ $putProgramOn == "no" ]解析为if [ == "no" ],这是一个语法错误,因此您至少需要在条件中引用回复:

if [ "$putProgramOn" == "no" ]

另见Bash Comparison Operators

BTW:使用esac,你可以简单地评估“y”和“n”的快捷键:

read -p 'Would you like to put the program on the flash drive? Awnser yes or no: ' putProgramOn

case "$putProgramOn" in
n|no)
    echo "putProgramOn=no"
    ;;
y|yes)
    echo "putProgramOn=yes"
    ;;
*)
    echo "putProgramOn=\"putProgramOn\""
    exit 1
    ;;
esac