Bash vs Python:你該使用哪個?
知識
04-15
兩種編程語言都各有優缺點,它們在某些任務方面互有勝負。
-- Archit Modi
Bash 和 Python 是大多數自動化工程師最喜歡的編程語言。它們都各有優缺點,有時很難選擇應該使用哪一個。所以,最誠實的答案是:這取決於任務、範圍、背景和任務的複雜性。
讓我們來比較一下這兩種語言,以便更好地理解它們各自的優點。
Bash
- 是一種 Linux/Unix shell 命令語言
- 非常適合編寫使用命令行界面(CLI)實用程序的 shell 腳本,利用一個命令的輸出傳遞給另一個命令(管道),以及執行簡單的任務(可以多達 100 行代碼)
- 可以按原樣使用命令行命令和實用程序
- 啟動時間比 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) 選題: lujun9972 譯者: MjSeven 校對: wxy
本文由 LCTT 原創編譯, Linux中國 榮譽推出
點擊「了解更多」可訪問文內鏈接
TAG:Linux技術 |