? ? shell是一個命令解釋器,處于內核和用戶之間,負責把用戶的指令傳遞給內核并且把執行結果回顯給用戶。是一個用C語言編寫的程序,它是用戶使用Linux的橋梁,同時,shell也可以作為一門強大的編程語言。
? ? 我們常說的shell是命令行解釋器的意思,也有內核上的一層殼的含義。
? ? shell常見的幾種類型有sh、csh、bash、zsh等提供的腳本支持。
? ? shell的功能點在于外部命令的使用,其內部數據處理方面,側重文本(或者說字符串,或字符流)處理,而對運算和其他基本數據結構的原生較弱(例如常用的array、set、map等等)。
? ? 但是呢,實現命令自動化的同時,Shell需要依賴其他程序才能完成大部分的工作,這是它的缺陷也是一個優點,但它不容置疑的長處是:簡潔的腳本語言標記方式,而且比C語言編寫的程序執行更快、更有效率,所以我們如果有做運維甚至是基礎管理Linux服務器的同學,只要學會了shell編程,大大的可以節約我們的時間,更快捷的管理我們的服務器了。
? ?bash是Linux標準默認的shell,是BourneAgain Shell的縮寫,因為bash有很多特性,比如:可以使用類似DOS下面的doskey的功能,用方向鍵查閱和快速輸入并修改命令。自動通過查找匹配的方式給出以某字符串開頭的命令,還有就是bash包含了自身的幫助功能,你只要在提示符下面鍵入help就可以得到相關的幫助。
?在Linux系統中我們經常看見以:#!/bin/bash開頭的文件內容,這就是聲明了該文件是一個基于bash的shell編程文件。