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] git-bash 底下的工具

因為工作轉到 Windows 平台上的關係,所以很多工具改到 Windows 上面運作,跟著在 TortoiseGit 底下使用 git-bash 來維護自己的專案原始碼。結果就是裝了前面提過的 auto-hotkey 使用熱鍵來提昇自己的平台操作速度; 但除了 hotkey...