[#]: collector: (lujun9972) [#]: translator: (geekpi) [#]: reviewer: ( ) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (Bash vs. Python: Which language should you use?) [#]: via: (https://opensource.com/article/19/4/bash-vs-python) [#]: author: (Archit Modi (Red Hat) https://opensource.com/users/architmodi/users/greg-p/users/oz123) Bash 对比 Python:你应该使用哪种语言? ====== 两种编程语言都有利有弊,这使得它们在某些任务上比对方更好。 ![][1] [Bash][2] 和 [Python][3] 是大多数自动化工程师最喜欢的编程语言。两者都有利有弊,有时很难选择应该使用哪一种。诚实的回答是:它取决于任务、范围、上下文和复杂性。 让我们比较这两种语言,以便更好地了解每种语言的用处。 ### Bash * 是 Linux/Unix shell 命令语言 * 非常适合编写使用命令行 (CLI) 工具,从一个命令到另一个命令(管道)的输出,以及执行简单任务(最多 100 行代码)的 shell 脚本 * 可以按原样使用命令行命令和工具 * 具有比 Python 更佳的启动时间,但执行时间性能较差 * 未在 Windows 中预装。你的脚本可能与多个操作系统不兼容,但 Bash 是大多数 Linux/Unix 系统上的默认 shell * _不_与其他 shell 完全兼容(例如 csh、zsh、fish) * 管道(“|”)CLI 工具(如 sed、awk、grep 等)可能会降低其性能 * 缺少许多函数、对象、数据结构和多线程,这限制了它在复杂脚本/编程中的使用 * 缺乏良好的调试工具和程序 ### Python * 是一门面向对象编程 (OOP) 语言,因此它比 Bash 更通用 * 几乎可以用于任何任务 * 适用于大多数主流操作系统,默认情况下也安装在大多数 Unix/Linux 系统上 * 与编写伪代码非常相似 * 具有简单、清晰、易于学习和易于阅读的语法 * 拥有大量的库,文档和活跃的社区 * 提供比 Bash 更好的错误处理功能 * 拥有比 Bash 更好的调试工具和程序,这使它成为开发含有大量代码的复杂软件的理想语言 * 应用(或脚本)可以包含许多必须在执行之前安装的第三方依赖项 * 与 Bash 相比,需要为简单任务编写更多代码行 我希望这些列表能让你更好地了解使用哪种语言以及何时使用它。 你在日常工作中使用哪种语言,Bash 还是 Python?请分享评论。 -------------------------------------------------------------------------------- via: https://opensource.com/article/19/4/bash-vs-python 作者:[Archit Modi (Red Hat)][a] 选题:[lujun9972][b] 译者:[geekpi](https://github.com/geekpi) 校对:[校对者ID](https://github.com/校对者ID) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 [a]: https://opensource.com/users/architmodi/users/greg-p/users/oz123 [b]: https://github.com/lujun9972 [1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/computer_happy_sad_developer_programming.png?itok=72nkfSQ_ [2]: /article/18/7/admin-guide-bash [3]: /article/17/11/5-approaches-learning-python