为什么bash的流控制结构不一致?

 愚木小三_563 发布于 2023-01-12 07:57

我正在自学bash,并使用学习bash Shell这样做.

我注意到在流控制中我们定义了一个if/else语句:

if [ statement_is_true ]; then
    # do stuff here
elif [ some_other_statement]; then
    # other thing
else
    # if all else fails
fi

以及一个案例陈述:

case $expr in
    case1 )
        ;;
    case2 )
        ;;
esac

但是for循环可能被定义为

for i in $list;
do
    # something cool with the various $i
done

和一个循环作为

while [ condition ]; do
    # something that loops
done

为什么结束for,while以及until循环标注done,而不是rof,elihwlitnu分别,喜欢if/ficase/esac建设?(或者,它为什么不if/fi代替if/done

1 个回答
  • 我怀疑它只是可读性,因为litnu它比阅读/发音要困难得多esac.例如,请参阅本书,其中" 因显而易见的原因而end得分nigeb".

    fi并且esac易于发音并与其他代码区分开来.该do...done结构还在循环结构中提供了一致的语法,这可能比所有控制流语句中的一致语法更明智.

    2023-01-12 08:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有