This question pertains specifically to shell scripts, but could be about any programming language.
Is there any difference between using multiple if
statements and using elif
statements in shell scripts? And, a case
statement would not work in my situation.
Yes, potentially. Consider this (C#, Java, whatever):
int x = GetValueFromSomewhere();
if (x == 0)
{
// Something
x = 1;
}
else if (x == 1)
{
// Something else...
}
vs this:
int x = GetValueFromSomewhere();
if (x == 0)
{
// Something
x = 1;
}
if (x == 1)
{
// Something else...
}
In the first case, only one of "Something" or "Something else..." will occur. In the second case, the side-effects of the first block make the condition in the second block true.
Then for another example, the conditions may not be mutually exclusive to start with:
int x = ...;
if (x < 10)
{
...
}
else if (x < 100)
{
...
}
else if (x < 1000)
{
...
}
If you get rid of the "else" here, then as soon as one condition has matched, the rest will too.