mikyra..
43
我想你的问题是关于许多语法中包含的悬浮的其他歧义; 在bash中没有这样的事情.每个if都必须由fi标记if块结尾的伴侣分隔.
鉴于此事实(除了其他语法错误),您会注意到您的示例不是有效的bash脚本.试图修复一些错误,你可能会得到这样的东西
if condition
then
echo "do this stuff"
elif condition
then
echo "do this stuff"
elif condition
then
echo "do this stuff"
if condition
then
echo "this is nested inside"
# this else _without_ any ambiguity binds to the if directly above as there was
# no fi colosing the inner block
else
echo "this is nested inside"
# else
# echo "not nested"
# as given in your example is syntactically not correct !
# We have to close the last if block first as there's only one else allowed in any block.
fi
# now we can add your else ..
else
echo "not nested"
# ... which should be followed by another fi
fi