shell腳本語言與linux命令的聯繫與區別

使用linux確定是要會使用命令的,就算提供有用戶界面,絕大部分功能仍是要經過命令行去操做的。而shell腳本語言也是運行在linux上的腳本語言,對於服務器運維人員也是幾乎必需要掌握的。而shell腳本語言和linux命令有什麼聯繫,有什麼區別,也是要弄清楚的。linux

什麼是shell,shell與linux命令的聯繫shell

shell翻譯成殼的意思,它是包裹在linux內核外層的、一個可經過一系列的linux命令對操做系統發出相關指令的人機界面。 shell能夠經過其條件語句和循環語句等,把一系列linux命令結合在一塊兒,造成一個至關於面向過程的程序,即shell script,來實現一些較爲複雜的功能。服務器

總括,shell是linux命令集的概稱,是屬於命令行的人機界面。shell 是一個用C語言編寫的程序,它是用戶使用Linux的橋樑。Shell既是一種命令語言,又是一種程序設計語言。shell是指一種應用程序,這個應用程序提供了一個界面,用戶經過這個界面訪問操做系統內核的服務。Ken Thompson的sh是第一種Unix Shell,Windows Explorer是一個典型的圖形界面Shell。Shell 和Shell Script不是一回事,一般咱們說的都是Shell Script。運維

由定義可知, shell至關於通過裝飾的命令行,和命令行同樣,都能操做linux。可是shell是面向過程的,至關於有了必定的邏輯和過程,而命令行只是單一的操做。spa

shell與linux命令的區別操作系統

1.直接在命令行執行,就是在當前的shell環境下執行,好比涉及到一些環境變量的時候,必須在當前shell環境裏執行。命令行

2.在腳本里執行的話,腳本執行的時候,會fork一個子進程,全部操做都在子進程進行。若是涉及到一些在腳本里設置環境變量的東西,腳本結束了,環境變量也就消失了。 若是是修改環境變量的話,須要特別注意下。翻譯

3.shell能夠重複或批量地執行一些命令。你也能夠把本身要重複執行的命令寫到腳本里面執行。而命令行的話就須要一個一個的輸入命令,相對而言麻煩一些。設計

總結進程

上面就是一些對於shell和命令行的對比。我的以爲除了很是專業的運維人員,對大多數開發人員來講,這二者的差異不大,也不影響你們對於linux系統的使用。

 

"沒有穩定的工做,只有穩定的能力。"

相關文章
相關標籤/搜索