2

为什么这个简单的 if 语句会导致语法错误?

#!/bin/bash

if [[ 1 == 1 ]] ; then
#    echo "hello"
fi

错误是

第 5 行:意外标记“fi”附近的语法错误

如果未注释回声,它会按预期工作。

编辑

谢谢,使用 . 修复了错误:。愚蠢的打击。=P

#!/bin/bash

if [[ 1 == 1 ]] ; then
:#    echo "hello"
fi
4

1 回答 1

5

因为,正如您在man bash中看到的那样,正确的语法if

if list; then list; [ elif list; then list; ] ... [ else list; ] fi

如果你查看 的定义list,它会说

列表是由一个或多个管道组成的序列,由一个运算符 ;、&、&& 或 ││ 分隔,并可选择由 ;、& 或 中的一个终止。

这个“一个或多个”是您的示例不是有效语法的原因。

于 2012-06-03T09:17:22.513 回答