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