NetBSD 中 Almquist shell 的歷史

NetBSD 中 Almquist shell 的歷史

在 NetBSD 中/bin/sh是一個修改版本阿爾姆奎斯特殼。使用該命令fc -l可以查看在提示符號中輸入的最後 16 個命令目前的會話和不是那些年長的

環境變數HISTSIZE設定為 1000,bash這意味著最後 1000 個命令(是否它們是在目前會話中鍵入的)保存在.bash_history主目錄中命名的檔案中。但這裡似乎意味著只是將本次會話中的最後1000條命令保留在歷史記錄中,並且歷史記錄似乎沒有保存在文件中。

我正在尋找一個歷史記錄,它不僅可以讀取當前會話的最後命令,還可以之前會話的命令(例如,上次啟動系統的時間,而不是實際時間)。/bin/shNetBSD 中預設有嗎這樣的歷史?如果沒有,是否可以在該 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您想要的任何檔案名稱。

如果您的問題是歷史記錄是否已寫入文件,那麼情況似乎並非如此。

相關內容