为什么这个简单的if语句会导致语法错误?
#!/bin/bash
if [[ 1 == 1 ]] ; then
# echo "hello"
fi
错误是
第5行:意外标记“fi”附近的语法错误
如果取消注释回声,它将按预期工作。
谢谢,使用:
修正了错误。傻傻的。 = P
#!/bin/bash
if [[ 1 == 1 ]] ; then
:# echo "hello"
fi
答案 0 :(得分:5)
正如您在man bash中看到的那样,if
的正确语法是
if list; then list; [ elif list; then list; ] ... [ else list; ] fi
如果你查看list
的定义,就会说
列表是由一个或多个管道分隔的一个或多个管道的序列 运算符;,&,&&,或││,并可选择以;,&amp ;,之一终止, 或。
这个“一个或多个”是您的示例不是有效语法的原因。