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
張貼留言

[Linux] Private Key 不能登入的除錯方法與可能的問題點

最簡單的除錯方法是 $ ssh HOST -v 可能的問題點有: File/Dir Permission # 目錄是 700, 檔案是 600 Server 設定 RSAAuthentication yes PubkeyAuthentication yes...