糾結了很久,還是想發表一下看法。不會的!專注的領域不同,雙方不屬於對立面
shell是什麼
引用百度百科的
在計算機科學中,Shell俗稱殼(用來區別於核),是指“為使用者提供操作介面”的軟體(命令解析器)。它類似於DOS下的command。com和後來的cmd。exe。它接收使用者命令,然後呼叫相應的應用程式。
解讀:shell是用來給我們程式設計師提供操作核心的命令解析器
python呢
Python是一種跨平臺的計算機程式設計語言。是一種面向物件的動態型別語言,最初被設計用於編寫自動化指令碼(shell),隨著版本的不斷更新和語言新功能的新增,越來越多被用於獨立的、大型專案的開發。
解讀:最初是想用來編寫自動化指令碼的,並不是想取代他,現在python更多的是應用於專案的開發,與他對立的應該是java
這樣我們可以看出來,這兩者不是對立的,而是互助的。
個人理解
shell的是程式設計師與計算機的橋樑。
python大眾使用者與計算機的橋樑。
首先來說,
Shell是Linux及Unix系統下內建的一款指令碼語言,它是解釋型的
,所以編寫和執行相對來說都是比較容易的。但是,Shell這款指令碼語言真的很奇葩,為什麼這樣講呢?因為
它的語法和主流程式語言完全不一樣
,給人的感覺就是很不規範(語法不規範),所以學起來很難。
舉個例子來說一下吧,
Shell指令碼對於空格都有奇葩的規定
,當用 等號(=) 來賦值時,=左右兩側不能有空格;當用 = 來做比較時,等號兩邊必須有空格;中括號([])左右兩側必須要加空格。這種語法大家可能接受?
i=1
if [ $a = $b ]
Shell語法之所以難,是難在一些奇怪的語法規定上,而且Shell沒有合適的IDE來編寫,寫錯的機率也較大。
Python遠比Shell要強大,所以
我們說Python是可以替代Shell的(但不能完全替代,Shell還是有它的特定場景)
,原因主要有以下幾點:
1、
主流的Linux發行版本都內建安裝了Python
,這樣一來我們可以直接使用避免了下載安裝;
2、
Python也是解釋型指令碼語言
,語法語義性高,程式碼容易閱讀看懂,上手容易;
3、Python有很多庫的支援,
功能上比Shell豐富
。
以上就是我的觀點,對於這個問題大家是怎麼看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年網際網路從業經驗,歡迎關注我瞭解更多科技知識!
大家好!我是駭客之家小編,駭客之家頭條號
分享駭客技術,GO、Python、Kotlin、Android、Java程式設計知識,科技資訊等
喜歡的朋友可以關注我的頭條號!
python是一門簡單易學的程式語言,功能強大,當然
可以用來替代shell
。
Shell 是一個用 C 語言編寫的程式,它是使用者使用 Linux或者類UNIX 的橋樑。Shell 既是一種命令語言,又是一種程式設計語言。Shell 是指一種應用程式,這個應用程式提供了一個介面,使用者透過這個介面訪問作業系統核心的服務。
python內建的os模組提供了非常豐富的方法用來與作業系統進行互動,可以深入學習python的os模組。python誕生之初就是為了簡化運維工作量用的,最後發展成通用語言。用python來替代shell是沒有問題的,python簡單易學,語法簡單,學起來速度更快,還可以用python來做自動化運維。
喜歡的朋友可以點贊、關注、轉發、評論!同時歡迎大家在評論中補充不足的地方!
不能,不會,也沒必要——這也不是Python的目標。
首先不點名批評某些半桶水誤導別人的答覆。
然後說事,shell是什麼?shell不具體指某一個軟體包,而是指作業系統的人機互動介面,這是一種基於地位的描述。shell不止一種,*nix下 bash 可能是最常見的,此外還有一些其它的,比如csh ksh啥的(我也不會,所以不瞭解),win下面的cmd也是一種。
而Python是一種開發語言,雖然有個互動模式,但仍然是給開發工作提供的,而不是一個shell,功能上講不能承擔起shell的工作。
而對於一個人機互動介面,最重要的就是它的使用便利性。誰更好用,不評價,反正輪不到Python。
至於指令碼,shell的寫起來最簡單。使用者選擇工具的時候,效能滿足要求的情況下,往往優先考慮的是實現效率。
python是一門簡單易學的程式語言,功能強大,當然可以用來替代shell。
#FormatImgID_5#
Shell 是一個用 C 語言編寫的程式,它是使用者使用 Linux或者類UNIX 的橋樑。
Shell 既是一種命令語言,又是一種程式設計語言。Shell 是指一種應用程式,這個應用程式提供了一個介面,使用者透過這個介面訪問作業系統核心的服務。
python內建的os模組提供了非常豐富的方法用來與作業系統進行互動,可以深入學習python的os模組。
python誕生之初就是為了簡化運維工作量用的,最後發展成通用語言。
用python來替代shell是沒有問題的,python簡單易學,語法簡單,學起來速度更快,還可以用python來做自動化運維。
shell的功能Python均可實現,而且程式碼量更少、結構更優、可閱讀性更好,而Python可實現的功能Shell卻不一定能,如運維中會用到的用於網路通訊的Socket模組、用於WEB的Django框架、用於效能採集的psutil模組等,而且Shell對作業系統的命令依賴性較強,Python可在更大程度上規避。
在一個Shell的IDE是個很大的問題,雖然Python的原生IDE不怎麼樣,但第三方的IDE還是功能十分強大的,雖然不能和微軟的Virtual Studio相媲美,但也是能完全滿足Python的開發需求的。
再說下Python的效率問題,Python支援多程序、多執行緒以及協程(比執行緒更小一級),程式併發度是在Shell之上的。Python的核心模組基本都是用C實現的,因此效率更高。如有必要也可能將需要用Python實現的Python模組用C重寫以提高效率,當然也可以直接用C Python,一個直接完全用C實現的Python直譯器。