更新時間:2022-04-08 來源:黑馬程序員 瀏覽量:
shell是一種具備特殊功能的程序,處于用戶與內核之間,提供用戶與內核進行交互的接口。換言之,Shell可接收用戶輸入的命令,將命令送入內核中執(zhí)行。內核接收到用戶的命令后調度硬件資源完成操作,再將結果返回給用戶。Shell與內核及用戶間的關系如圖所示。
Shell與內核及用戶的關系Shell在幫助用戶與內核完成交互的過程中還提供了解釋功能:傳遞命令時,Shell將命令解釋為二進制形式;返回結果時,Shell將結果解釋為字符形式,因此Shell又被稱為命令解釋器。Shell擁有內建的命令集,第二章中介紹的多種命令,實際上都是Shell命令集中的命令。
Shell也是一個解釋型的程序設計語言,使用Shell語言編寫的程序稱為Shell腳本。Shell腳本中支持定義變量、數組,可使用一些應用在高級語言中的控制結構(如選擇結構、循環(huán)結構等),
也 支 持Shell命令。
Shell編程語言簡單易學,一旦掌握后它將是最得力的工具。Shell提供了兩種方式以實現用戶與內核的通訊:交互式通訊(Interactive)和非交互式通訊(Shell
Script)。 交 互 式 通
訊指用戶輸入一條命令,Shell就解釋執(zhí)行一條命令,此種方式下用戶輸入的命令可以立即得到響應;非交互式通訊指按照Shell語言規(guī)范編寫程序并保存為文件,在需要時執(zhí)行Shell文件,一次性執(zhí)行文件中的所有命令。