Bash,语法错误:在elif行后出现'elif'意外

Ahm*_*kar 1 bash if-statement

我搜寻了大约一个小时,以查找为什么我的bash脚本错误的原因,并且我感觉我的大脑准备爆炸了,所以没有答案,请帮助我

dtc=$(df /cache | awk '{print $4}' | awk 'NR==2')
    if [ "$dtc" -gt "196608" ]; then
        echo -ne "|         |  0%|         |\r"
        su -c "/system/0211/installer/swap/0211swaptocache192mb.sh"
        sleep 0.8
        echo -ne "|>>>>>>   | 30%|         |\r"
        mkswap /cache/0211swap.img
        swapon -p 1 /cache/0211swap.img
        echo 100 >  /proc/sys/vm/swappiness
        sleep 0.8
        echo -ne "|>>>>>>>>>| 55%|>        |\r"
        cp /system/0211/installer/swap/0211swapon /system/etc/init.d/0211swapon
        sleep 0.8
        echo -ne "|>>>>>>>>>|100%|>>>>>>>>>|\r"
        chmod 777 /system/etc/init.d/0211swapon
        sleep 1
        echo -ne "|>>>>>>>>>|Done|>>>>>>>>>|\n"
        sleep 0.8
        echo "If nothing wrong, your Swap is 192MB and should active"
        sleep 0.8
        else
        echo "/cache partition: not enough space"
        sleep 0.8
    elif [ "$dtc" -gt "163840" ]; then
        echo -ne "|         |  0%|         |\r" #this is the error
        su -c "/system/0211/installer/swap/0211swaptocache160mb.sh"
        sleep 0.8
        echo -ne "|>>>>>>   | 30%|         |\r"
        mkswap /cache/0211swap.img
        swapon -p 1 /cache/0211swap.img
        echo 100 >  /proc/sys/vm/swappiness
        sleep 0.8
        echo -ne "|>>>>>>>>>| 55%|>        |\r"
        cp /system/0211/installer/swap/0211swapon /system/etc/init.d/0211swapon
        sleep 0.8
        echo -ne "|>>>>>>>>>|100%|>>>>>>>>>|\r"
        chmod 777 /system/etc/init.d/0211swapon
        sleep 1
        echo -ne "|>>>>>>>>>|Done|>>>>>>>>>|\n"
        sleep 0.8
        echo "If nothing wrong, your Swap is 160MB and should active"
        sleep 0.8
    fi
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗?'elif'意外,但错误在elif之后的行

Gor*_*son 5

elsethen节中间有一个:

...
    echo "If nothing wrong, your Swap is 192MB and should active"
    sleep 0.8
    else   # <-- this needs to go *after* the last `elif` section
    echo "/cache partition: not enough space"
    sleep 0.8
elif [ "$dtc" -gt "163840" ]; then
...
Run Code Online (Sandbox Code Playgroud)