如果条件在bash中不能正常工作

时间:2013-05-02 10:55:54

标签: bash conditional-statements

代码

if [ $setup==="y" ]
    then
        echo "kurulum:"$setup
        exit
        full_dir=$full_dir"/public"
    else
    echo "Sub-Public folder is exist? [public,web]"
        read folder_extend
        if [ $folder_extend ]
                then
                full_dir=$full_dir"/"$folder_extend
        fi
fi

在运行sh之后将param $ setup视图设置为“n”,但仍然运行第一部分运行。哪里错了代码?

感谢。

1 个答案:

答案 0 :(得分:4)

将其更改为:

if [ "$setup" = "y" ]
    then
        echo "kurulum:"$setup
        exit
        full_dir=$full_dir"/public"
    else
    echo "Sub-Public folder is exist? [public,web]"
        read folder_extend
        if [ "$folder_extend" ]
                then
                full_dir=$full_dir"/"$folder_extend
        fi
fi

它应该只是一个=,你需要它周围的空格。您还应该在大多数情况下引用变量,以防它们包含空格。