shell – 使用多个if语句和if语句之间是否有区别?

前端之家收集整理的这篇文章主要介绍了shell – 使用多个if语句和if语句之间是否有区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这个问题与shell脚本有关,但可以关于任何编程语言。

在shell脚本中使用多个if语句和使用elif语句有什么区别吗?而且,在我的情况下,一个案例声明将不会奏效。

是的,潜在的。考虑一下(C#,Java,无论如何):
  1. int x = GetValueFromSomewhere();
  2.  
  3. if (x == 0)
  4. {
  5. // Something
  6. x = 1;
  7. }
  8. else if (x == 1)
  9. {
  10. // Something else...
  11. }

vs这个:

  1. int x = GetValueFromSomewhere();
  2.  
  3. if (x == 0)
  4. {
  5. // Something
  6. x = 1;
  7. }
  8. if (x == 1)
  9. {
  10. // Something else...
  11. }

在第一种情况下,只会出现“Something”或“Something else …”之一。在第二种情况下,第一块的副作用使得第二块中的条件为真。

那么另一个例子,条件可能不是相互排斥的,首先是:

  1. int x = ...;
  2.  
  3. if (x < 10)
  4. {
  5. ...
  6. }
  7. else if (x < 100)
  8. {
  9. ...
  10. }
  11. else if (x < 1000)
  12. {
  13. ...
  14. }

如果你摆脱这里的“其他”,那么一旦一个条件匹配,其余的也是。

猜你在找的Bash相关文章