`if...elif` 语句的正确语法

`if...elif` 语句的正确语法

快速提问,假设以下if语句

if dis'n'dat ; then
    some command here
else
    if dat'n'dis
        some other command
    fi
fi

我可以使用 elif 将其更改为以下吗?

if dis'n'dat ; then
    some command
elif dat'n'dis ; then
    some other command
fi

尽管对编程很陌生,但if-else-fi我确实理解这些语句,但我从未找到以我能理解的方式解释 elif 的答案。

答案1

习语elif与陈述的结构非常相似case

主要是:只选择其中一个匹配的案例。

这:

if   test1; then
     code for test1 being true.
elif test2; then
     code for test2 being true.
elif test3; then
     code for test3 being true.
else
     code for all tests above being false.
fi

将仅匹配其中一个匹配项test

与 case 的区别在于,在 case 语句中测试的是一些模式,而在elif语句中可能会使用几种不同的测试。

答案2

是的,使用 elif 重写与使用嵌套“if”的原始代码块相同。

Elif 的存在正是为了让您不必在“else”中嵌套新的“if”。我想这可能就是他们称之为“elif”的原因;它是 else 和 if 的组合。

相关内容