-
但這取決於你想用它做什麼。
-
Linux 的基本元件,都是經過錘煉的。 很少有人被替換。 這些基本元件包括 shell。
Python 最初是作為操作工具而開始的。 它後來發展成為一種通用語。 Python 可以解決 shell 等工具程式設計難、可讀性差的問題。
當然,裡面還有很多設計思路,就不一一列舉了。 但 Python 並不是以替換 shell 為目標的。
但 Ruby 有這個想法。 Ruby 有一些工具顯然想要取代應用程式的控制台。 這是一種理想的語言。
作為一種程式語言,而不是命令列工具。 Python不具備互動性強、通用性強、緊湊性、許可權管理、批處理、流水線複雜、安全性、效率等優點。
但是,shell 支援的許多指令碼已被 python 取代。 因此,在Linux系統初始化和運維管理中可以看到大量的Python指令碼。 對於python老手來說,用shell指令碼程式設計不如直接寫python指令碼好。
無需學習兩套程式設計方法。
我用python已經10多年了,總覺得沒有必要寫乙個超過50行的shell指令碼。 擁有python就足夠了。 偶爾寫乙個有十幾行的 shell 是更常見的。 更多的將是 python。
在某些特定的作業系統中,GUI 已經過重新設計,其中乙個作業系統甚至沒有命令列,幾乎完全是圖形化的。 這些作業系統中沒有 shell。 它被替換了。
同樣,如果我們用 python 編寫作業系統,顯然不再需要 shell。
-
好問題,坐下來等師傅回答!
-
使用 bash 編寫指令碼來完成某些事情。 一般來說,在 Python 中編寫具有相同功能的指令碼幾乎是可能的。 只是語法和執行時環境不同。
Bash,bourne-again shell,來自早期的 bourne shell(sh)。 Bash 的內建命令與 Unix Linux 自帶的命令很好地整合(互補,命令格式用法相同或相似),Bash 自帶的環境變數與 Unix Linux 的環境變數很好地整合(互補、互幫互助、借用),Bash 不是物件導向的,Bash 沒有像 Python 那樣豐富的庫。 它太豐富了,太強大了,不能成為 Unix Linux 的預設 shell。
-
1.對於複雜邏輯,Python具有模組化的特點,優於shell。
2.但是對於單個命令,使用python是什麼感覺,每個命令都要呼叫,而且python的功能不像shell那樣用空格分隔,而是加括號、逗號和引號,畫面太美了不敢想。
3.所以最好的解決方案是兩者共存,直接用shell輸入命令,用python編寫指令碼。 事實上,許多 Linux 發行版都帶有 Python,使用 Python 而不是 shell 指令碼是可以的。
-
當然,shell 是各種 Linux 命令上某些 shell 語法的組合。
有兩種方法可以使用 python 而不是 shell。
直接使用 python 包完成 linux 命令的工作使用 python 呼叫 shell 命令,例如:
import os
ls'如果您的問題解決了!
如果它不起作用,請繼續詢問!
-
這是乙個子角度。 作為類 UNIX 類基礎的 shell 現在在 Python 替代品中不可用。 但是如果你想用它來完成工作,你可以使用 python 而不是 shell。
-
1、從自動化運維的角度來看,shell批處理看作是shell的整體,那麼python就可以被替換了。
2.但從廣義上講,平時輸入的單個命令也屬於shell,是無法替代的,python也需要呼叫shell命令。
-
Python可以取代shell嗎?
不! Shell 在 Linux 中無處不在,在處理單行任務方面,它比 Python 強
但是在邏輯方面,很明顯 Python 佔了上風!
換句話說,你必須掌握50%的外殼,然後根據你未來的選擇選擇哪個學科繼續學習。
如果你選擇DevOps,那麼你將進一步學習Python,如果你選擇OpenStack,即容器運維,你將不得不學習Shell
-
絕對可以用python實現shell的功能,而且數量少,結構更好,可讀性更好; 但是,Python 能夠實現的功能 shell 並不一定可能,比如運維中會用到的用於網路通訊的 socket 模組、用於 Web 的 Django 框架、用於效能採集的 psutil 模組等,而且 shell 對作業系統的命令依賴性很強,Python 可以更大程度地避免這些問題。
同時,Python支援多程序、多執行緒和協程,程式併發在shell之上。 Python的核心模組基本上是用C語言實現的,所以效率非常高。
-
雙方呼叫的系統命令不同,乙個使用bash或csh,另乙個使用python,但兩者都可以實現相同的功能。
-
Shell 指令碼是通過 shell 直譯器執行的,常見的 shell 包括 bash、sh 等,python 指令碼本質上是一種 shell 指令碼,但 python 指令碼的第一行有乙個描述性語句:!usr bin env python 行告訴 shell 直譯器,python 直譯器需要執行以下操作。
-
Shell指令碼只是一種簡單的語言,通常用於編寫一些系統維護和實用程式,如批量檢索檔案,其功能主要依靠shell指令碼啟動其他獨立程式來完成,如find、grep等Linux常用程式。 Python 是一種完全現代的程式語言和環境(比如支援物件導向程式設計),它可以在功能上完成上述 shell 指令碼的所有功能,但更重要的是,Python 用於複雜的應用程式,例如科學計算和 Web 伺服器應用程式。
-
Shell 和 Python 都是指令碼,shell 不好學,你會很難學 python,雖然它們彼此無關,但同時顯示你的學習能力。
Python 有其自身的優勢,一般來說,組織 Linux 內部的命令都使用 shell。
-
這兩者沒有可比性。
Shell 指令碼只能與 Python 自動化進行比較,後者更具針對性。
讀書當然有用,但結果是你自己的能力,就算你是博士,你也沒能力,也不一樣,也許你說有些人不讀書還能,但你終究想成為少數,你會成為那個少數嗎? 你必須記住的一件事是,讀一本書總比根本不讀要好。