2010/04/29

[Linux] Bash 的錯誤訊息

話說我常常在 .bashrc 裡面加自已的一些偏好,所以我的 bashrc 長的很肥,當然跑起來會慢一點,不過還好有 screen 可以用,所以一直以來也沒什麼不妥,不過最近發現 scp 到某些機器的時候會看到一個錯誤訊息:
bind: warning: line editing not enable
去查了一下,結果找到應該是這兩行的問題:
bind '"\x1b\x5b\x41":history-search-backward'
bind '"\x1b\x5b\x42":history-search-forward'
這兩行對我來說還蠻重要的,因為用這個功能,可以只打一個 s (按方向鍵上) 就看到 bash 歷史記錄裡的 s 開頭的命令記錄,還蠻方便的;如果出了問題不能用,或著造成困擾還蠻慘的。

所以要想辦法解決,在 opensuse.org 上面有提到一個迴避的方式,就是利用 "$-" 這個變數來解決。
所以可以寫成這樣:
case "$-" in
    *i*)
        bind '"\x1b\x5b\x41":history-search-backward'
        bind '"\x1b\x5b\x42":history-search-forward'
        ;;
esac  

就可以解決這個錯誤訊息的問題了。
--
參考網址:
http://lists.opensuse.org/opensuse-bugs/2009-10/msg10451.html
張貼留言

[Windows] 好用的小工具: AutoHotKey

做為一個 Linux 的愛好者,轉移到 Windows 上面的時候,往往難以適應 Windows 調整快捷鍵的方式,所以 google 了一下,結果發現很多人愛用的 "Auto Hot key"。不多說,就來給一個範例說明如何使用 Auto Hot key 來...