2011-04-01 34 views
4

我一直使用的屏幕相當長的一段時間了,我同意,它提高了我的productivity.But一兩件事,我真的很想念是命令歷史記錄。我在屏幕會話中輸入的任何內容都不會記錄在命令歷史記錄中。當我谷歌搜索相同的時候,我發現一些相關的問題: http://www.linuxquestions.org/questions/slackware-14/aliases-lost-when-using-screen-723624/在Linux中使用的屏幕命令不允許登錄命令歷史記錄

但令人驚訝的是在我的情況下,所有的別名是完好的,我可以使用它們沒有任何問題。據我所知,打開一個新的屏幕會話實際上是打開一個新的子shell。如果這是真的,可能有人幫助我如何讓屏幕會話鍵入命令歷史記錄中記錄的命令,所以,如果我打開一個新的終端/屏幕以後我就可以利用命令歷史記錄訪​​問的命令CTRL + R。任何解決方案,可以幫助我作出命令歷史記錄屏幕日誌命令將非常有幫助。欣賞你的時間。謝謝。

回答

6

假設bash外殼被在屏幕內使用。

插入2個語句轉換爲〜/ .bashrc中:

shopt -s histappend 
PROMPT_COMMAND="$PROMPT_COMMAND;history -a" 

第一個命令追加命令到歷史文件,而不是同時第二命令保存它已經被執行之後的每個命令覆蓋它,而不是在會議結束時。

爲了擴展我的答案,您打開的每個bash會話的歷史記錄都存儲在內存中,直到您註銷/關閉會話。然後它會覆蓋bash歷史文件。 這些命令將附加到歷史文件,然後在每個命令後刷新到文件。

+0

它的工作,感謝奧利。 – alphaGeek 2011-04-01 11:39:20

+0

請注意,在某些系統中'PROMPT_COMMAND'實際上沒有定義,所以這會導致語法錯誤。 – detly 2012-04-04 11:02:26

相關問題