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


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

什么是shell,shell與linux命令的聯系

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是面向過程的,相當於有了一定的邏輯和過程,而命令行只是單一的操作。

shell與linux命令的區別

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

2.在腳本里執行的話,腳本執行的時候,會fork一個子進程,所有操作都在子進程進行。如果涉及到一些在腳本里設置環境變量的東西,腳本結束了,環境變量也就消失了。 如果是修改環境變量的話,需要特別注意下。

3.shell可以重復或批量地執行一些命令。你也可以把自己要重復執行的命令寫到腳本里面執行。而命令行的話就需要一個一個的輸入命令,相對而言麻煩一些。

總結

上面就是一些對於shell和命令行的對比。個人覺得除了非常專業的運維人員,對大多數開發人員來說,這兩者的差別不大,也不影響大家對於linux系統的使用。

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM