为什么在意外标记“ fi ”附近出现语法错误

Beg*_*ers 1 bash

#!/bin/bash

#

#

#

#

echo -e "please insert user name :"

read un

echo "$un"

len=${#un}

echo "$len"

ze=0

te=10

if [ "$len" -eq "$ze" ]

than

echo "no argument"

exit

fi

if [ "$len" -ge "$te" ]

than

echo "the Argument maximum 10 alphanumeric"

exit

fi
Run Code Online (Sandbox Code Playgroud)

Ric*_*rri 5

简而言之:拼写错误:它是then,不是than

长话短说:if命令的语法是这样的(粗体字符标记不能省略或替换的单词):

如果测试命令;然后 命令;

您可以在其中用;换行符替换标记。

shell 将解释thantest-commands 的一部分,但随后它会找到一个fi不正确的语句(并且,是的,意外的),因为它从未遇到过该then部分。