
在 NetBSD 中/bin/sh
是一個修改版本阿爾姆奎斯特殼。使用該命令fc -l
可以查看在提示符號中輸入的最後 16 個命令目前的會話和不是那些年長的。
環境變數HISTSIZE
設定為 1000,bash
這意味著最後 1000 個命令(是否它們是在目前會話中鍵入的)保存在.bash_history
主目錄中命名的檔案中。但這裡似乎意味著只是將本次會話中的最後1000條命令保留在歷史記錄中,並且歷史記錄似乎沒有保存在文件中。
我正在尋找一個歷史記錄,它不僅可以讀取當前會話的最後命令,還可以之前會話的命令(例如,上次啟動系統的時間,而不是實際時間)。/bin/sh
NetBSD 中預設有嗎這樣的歷史?如果沒有,是否可以在該 shell 中建立這樣的歷史記錄?
答案1
我不太明白你的問題,你真正的問題是什麼?
首先,您聲明您可以透過內建存取歷史記錄fc
,然後您詢問 shell 是否實現歷史記錄?
此外,man page
狀態:
可以存取的先前命令的數量由變數的值決定
HISTSIZE
。
和
登入 shell 首先從檔案中讀取命令
/etc/profile
以及.profile
它們是否存在。如果環境變數ENV
是在進入 shell 時設定的,或者是在.profile
登入 shell 中設定的,則 shell 接下來會從 中命名的檔案中讀取命令ENV
。因此,使用者應該將僅在登入時執行的命令.profile
以及為檔案中的每個 shell 執行的命令放置在該ENV
檔案中。若要將ENV
變數設為某個文件,請將以下行放入.profile
您的主目錄中ENV=$HOME/.shinit; export ENV
替換為
.shinit
您想要的任何檔案名稱。
如果您的問題是歷史記錄是否已寫入文件,那麼情況似乎並非如此。