5. bash的常見特性
Bash(GNU Bourne-Again Shell)是一個為GNU計劃編寫的Unix shell,它是許多Linux平臺預設使用的shell。
shell是一個命令直譯器,是介於作業系統核心與使用者之間的一個絕緣層。準確地說,它也是能力很強的計算機語言,被稱為解釋性語言或指令碼語言。它可以通過將系統呼叫、公共程式、工具和編譯過的二進位制程式”粘合“在一起來建立應用,這是大多數指令碼語言的共同特徵,所以有時候指令碼語言又叫做“膠水語言”
事實上,所有的UNIX命令和工具再加上公共程式,對於shell指令碼來說,都是可呼叫的。Shell指令碼對於管理系統任務和其它的重複工作的例程來說,表現的非常好,根本不需要那些華而不實的成熟緊湊的編譯型程式語言。
bash的基礎特性
命令歷史:shell程序會其會話中儲存此前使用者提交執行過的命令:
~]# history:顯示歷史命令
定製history的功能,可通過環境變數實現:
HISTSIZE:shell程序可保留的命令歷史的條數;
HISTFILE:持久儲存命令歷史檔案;
命令用法:
history [-c] [-d 偏移量] [n]
或 history -anrw [檔名]
或 history -ps 引數 [引數...]
-c 刪除所有條目從而清空歷史列表。
-d 偏移量 從指定位置刪除歷史列表。
-r 讀取歷史檔案並將內容追加到歷史列表中
-w 把歷史列表中的命令追加至歷史檔案中
history #:顯示最近的#條命令
呼叫命令歷史列表中的命令:
!#:再一次執行歷史列表中的第#條命令
!!:再一次執行上一條命令
!STRING:再一次執行命令歷史列表最近一個以STRING開頭的命令
注意:命令的重複執行有時候需要依賴於冪等性
呼叫上一條命令的最後一個引數:
快捷鍵:ESC, .
字串:!$