linux命令 $- 是什麽意思
$-記錄著當前設置的shell選項,himBH是默認值,5個字母分別有各自含義。解釋如下:
h:hashall,打開這個選項後,Shell 會將命令所在的路徑記錄下來,避免每次都要查詢。舉例:當h選項開啟時,如果將某個自定義命令從/usr/bin/目錄下移動到/usr/local/bin/,再運行,會提示無此命令。而當通過set +h將h選項關閉後,上述情況就不會出現。
i:interactive-comments,包含這個選項說明當前的 shell 是壹個交互式的 shell。所謂的交互式shell,就是輸入命令後,shell解釋執行,然後返回壹個結果。在腳本中,i選項是關閉的。
m:monitor,打開監控模式,就可以通過Job control來控制進程的停止、繼續,後臺或者前臺執行等。
B:braceexpand,大括號擴展。舉例如下:
lenovo@lenovo-DK?~$?ls
A_File
lenovo@lenovo-DK?~
$?cp?A_File{,.back_up}
lenovo@lenovo-DK?~
$?ls
A_FileA_File.back_up
如果關閉B選項,那麽shell就不會將大括號擴展。
5.? H:history,Shell 會把我們執行的命令記錄下來,可以通過 history 命令查看,每壹行是序號 + 執行的命令,在 shell 退出時,會將這些信息保存到~/.bash_history 文件中。如果H選項打開,就可以展開歷史列表中的命令,可以通過!感嘆號來完成,例如"!!"返回上最近的壹個歷史命令,"!n"返回第 n 個歷史命令,等等。
參考資料如下,但願能幫到妳^_^
/explain-shell-default-options