if 语句

写法1:
  1. if condition
  2. then
  3. statement(s)
  4. fi

condition是判断条件,如果 condition 成立(返回“真”),那么 then 后边的语句将会被执行;如果 condition 不成立(返回“假”),那么不会执行任何语句。

写法2:
  1. if condition; then
  2. statement(s)
  3. fi

注意 condition 后边的分号;,当 if 和 then 位于同一行的时候,这个分号是必须的,否则会有语法错误。

if else 语句

如果有两个分支,就可以使用 if else 语句,它的格式为:

  1. if condition
  2. then
  3. statement1
  4. else
  5. statement2
  6. fi

如果 condition 成立,那么 then 后边的 statement1 语句将会被执行;否则,执行 else 后边的 statement2 语句。

if elif else 语句

Shell 支持任意数目的分支,当分支比较多时,可以使用 if elif else 结构,它的格式为:

  1. if condition1
  2. then
  3. statement1
  4. elif condition2
  5. then
  6. statement2
  7. elif condition3
  8. then
  9. statement3
  10. ……
  11. else
  12. statementn
  13. fi

注意,if 和 elif 后边都得跟着 then。

整条语句的执行逻辑为: 如果 condition1 成立,那么就执行 if 后边的 statement1;如果 condition1 不成立,那么继续执行 elif,判断 condition2。 如果 condition2 成立,那么就执行 statement2;如果 condition2 不成立,那么继续执行后边的 elif,判断 condition3。 如果 condition3 成立,那么就执行 statement3;如果 condition3 不成立,那么继续执行后边的 elif。 如果所有的 if 和 elif 判断都不成立,就进入最后的 else,执行 statementn。