fc [ -r ] [ -e Editor ] [ First [ Last ] ]
生成一個以前輸入的命令的列表
fc -l [ -n ] [ -r ] [ First [ Last ] ]
fc 命令顯示了歷史命令文件內容或調用一個編輯器去修改并重新執(zhí)行以前在 shell 中輸入的命令。
歷史命令文件按編號列出命令。列表中的第一個編號可以任意選擇linux命令。每一個命令與編號的關系不會改變,除非用戶登錄進系統(tǒng)并且沒有其它進程訪問過該列表。在這種情況下,系統(tǒng)將重新設置編號,并把余下的最老的命令編號設置為 1。
如果歷史命令文件中的編號達到了一個大于 HISTSIZE 環(huán)境變量值,或是大于 32767 的極限值,不管是哪一種情況,shell 將把編號重新設為 1。盡管可選編號重新開始設置,但 fc 命令會按時間順序維護命令序列。例如,有三個命令按照編號 32766,32767 和 1(被折返)排序,則編號 32767 的命令仍被認為在編號為 1 的命令之前。
可以使用 -l(L 的小寫)標志列出歷史文件中的命令。當沒有使用 -l 標志并且使用了 -eEditor 標志編輯命令,其結果行將輸入到歷史文件的末尾并且被 shell 重新執(zhí)行( fc -e Editor 命令不會被輸入進歷史命令列表中)。如果編輯器返回一個非零的退出狀態(tài)值,這將禁止歷史文件中的條目和命令重新執(zhí)行。
與 fc 命令一起使用的命令行上的任何變量賦值或者重定向運算符將再一次調用前面的命令,并且抑制 fc 命令和前面的命令所產生的標準錯誤。示例:
fc -s -- -1 2>/dev/null
標志
-e Editor 使用指定的編輯器編輯命令linux命令。 Editor 參數應是一個命令名稱。該命令用 PATH 環(huán)境變量指定位置。當沒有指定 -e 標志時,環(huán)境變量 FCEDIT中的值被用作缺省值。如果環(huán)境變量 FCEDIT 是空值或沒有設置,則使用 ed 編輯器。-l (L 的小寫)列出了歷史文件中的命令。不調用編輯器去修改它們。按照 First 和 Last 參數所指定的順序寫命令,就象-r 標志所作用的,在每一個命令的前面有一個命令編號。-n 當與 -l 標志一起使用時,隱藏命令編號。-r 逆轉所列出命令的順序(當使用 -l 標志)或者逆轉所編輯的命令順序(當沒有指定 -l 標志時)。
-s 不調用編輯器重新執(zhí)行一個命令。如果沒有指定 First 參數,則 -s 標志重新執(zhí)行前一個命令。
參數
First or Last 選擇要列出或編輯的命令。HISTSIZE 環(huán)境變量值確定了能夠訪問到的以前所輸入命令的數量。First 參數和 Last 參數必須具有下列數值中的一個:
[+] Number