OS X El Capitan(10.11 Beta)is Bash sessions (Terminal sessions)中的一個看似新功能。我現在有一個帶有歷史記錄文件的~/.bash_sessions
目錄,並且我的HISTFILE
和HISTIGNORE
envars被覆蓋。我如何禁用所有這些功能?如何禁用OS X中的Bash會話El Capitan
回答
如果您手動啓動新的Bash會話(即bash -xl
),您可以看到登錄時運行的是什麼。
你會看到下面的行輸出:
....
+++ '[' '!' -e /Users/username/.bash_sessions_disable ']'
您可以創建一個.bash_sessions_disable
文件在你的home目錄中禁用此功能。
我喜歡能夠訪問比以前更多的歷史記錄,但它是否會對其本身施加任何限制?看起來像自安裝10.11以來,每個終端調用都有兩個或三個文件。每月只有兩兆字節,但仍然...... – WGroleau
@WGroleau:這個功能不是關於歷史數量,而是關於爲每個終端會話存儲單獨的命令歷史記錄,以便如果您使用簡歷恢復終端,歷史將保持獨立就像他們最初創造它們時一樣。通常的'HISTSIZE'和'HISTFILESIZE' shell變量仍然適用。實際上,建議您將它們中的一個或兩個放大,因爲每個會話都會將其歷史記錄追加到全局'〜/ .bash_history'文件中,以便您可以在新終端中使用所有歷史記錄。有關更多詳細信息,請參見'/ etc/bashrc_Apple_Terminal'中的註釋。 –
@WGroleau:它也會自動刪除超過兩週的會話文件,每天一次。 –
此行爲在/etc/bashrc_Apple_Terminal
中定義。它包含描述它做什麼以及如何定製它的文檔註釋。
你可以在你的~/.bashrc
腳本設置SHELL_SESSION_HISTORY=0
禁用每個終端會話命令歷史記錄功能,如下所述:
您可以禁止此行爲,並共享一個歷史的 SHELL_SESSION_HISTORY設置爲0 。有一些常見的用戶定製 ,它們安排在運行的shell之間共享新的命令,由 在每個提示處操縱歷史記錄,它們通常包括 'shopt -s histappend';因此,如果histappend shell選項啓用了 ,則默認情況下會禁用每個會話歷史記錄。您可以 明確設置SHELL_SESSION_HISTORY使它1.
需要注意的是,雖然你可以通過創建~/.bash_sessions_disable
禁用整個會話狀態恢復機制,這是不必要的只是禁用每個會話的命令歷史功能,不建議使用。
總而言之,這與蘋果的Resume功能有關。啓用此功能後,當您退出應用程序或重新啓動時,下次打開應用程序時,將打開以前打開的窗口。
關於終端,三件事情必須到位要做到這一點:
$HOME/.bash_sessions_disable
必須不存在System Preferences/General/Close Windows when quitting an app
必須不進行檢查。- 重新啓動時,請選擇
Reopen windows
。
當您重新打開終端時,它將重新打開您之前在同一屏幕位置上的相同窗口和選項卡。另外,如果您選中了Terminal/Preferences/your-window-type/Windows/Resume/Restore-text-when-reopening-windows
,它將恢復每個屏幕上的文本。
最後,這具體涉及到OP的問題,它會還原歷史中的每個窗口/選項卡中,如果以下條件成立:
SHELL_SESSION_HISTORY
未設置或設置爲1shopt histappend
不設置HISTTIMEFORMAT
未設置
如果SHELL_SESSION_HISTORY
顯式設置爲1 .bashrc
,最後兩項要求被覆蓋,即可以設置shopt histappend
或HISTTIMEFORMAT
。
此外,需要注意HISTSIZE
和HISTFILESIZE
變量。它們不應該太大或太小,有些人建議不要設置它們,以便採用Apple的默認值。
- 1. Python 3.5 for OS X El Capitan
- 2. OS X上的MySQLdb錯誤El Capitan
- 3. 如何在OS X中啓用路由El Capitan
- 4. OS X El Capitan上安裝了Java 1.8?
- 5. 安裝MAC OS X後出錯El Capitan
- 6. wxWidgets 3.1.0和Mac OS X El Capitan(10.11)
- 7. 如何在OS X El Capitan中安裝授權插件?
- 8. 如何在OS X El Capitan 10.11.4上安裝CocoaPods?
- 9. 如何在Mac OS X El Capitan上正確卸載io.js?
- 10. mac os中的primefaces消息x 10.11 el capitan消失
- 11. 升級到OS X中的Vim 7.4 El Capitan
- 12. OS X中的XAMPP El Capitan - oci_connect():OCIEnvNlsCreate()失敗
- 13. 在OS X上使用ruby 1.9.3-p551安裝ruby-oci8 El capitan 10.11.3
- 14. 在OS X上使用libssl編譯C程序El Capitan?
- 15. CIColorClamp在OS X中無法正常工作El Capitan
- 16. 無法在Mac OS X中安裝Fabric.js El Capitan
- 17. 在Mac OS X El Capitan中需要Mcrypt PHP擴展
- 18. R:無法更新OS X上的R 3.2.2的XML包El Capitan
- 19. 如何獲得DNS解析以在El Capitan的Mac OS X chroot中工作?
- 20. 在OS X上正確安裝作曲家的問題El Capitan
- 21. OS X上的SDL_image視覺故障El Capitan
- 22. 在Mac OS上的SqlDeveloper安裝El Capitan
- 23. 如何將運行OS/X El Capitan的Mac上的鐺聲升級到LLVM 3.8?
- 24. 在OS X上更改Apache DocumentRoot後拒絕連接El Capitan
- 25. 無法在Mac OS X上編譯CUDA + OpenGL程序El Capitan
- 26. 無法在OS X上安裝Perl模塊Glib(El Capitan)
- 27. 無法在OS X上運行Netbeans El Capitan
- 28. Heroku登錄無法在Mac OS X上運行El Capitan
- 29. 無法在Mac OS X上啓動虛擬設備El Capitan
- 30. OS X El Capitan 10.11.3 Java 8 FileDialog無法打開
「...我的... HISTIGNORE envars被覆蓋。」你確定嗎? '/ etc/bashrc_Apple_Terminal'不會改變'HISTIGNORE'(它根本沒有被引用)。 –
*如果啓用'histappend' shell選項,默認情況下每會話歷史記錄被禁用* – yckart