Linux Bash 出現 bind: warning: line editing not enabled 的問題修復

於 Linux 的 Bash shell 依照此篇文章「Bash 使用 Tab 自動完成 檔案或目錄的輸入」的做法,使用 bind 來做些設定,但是在 scp 到這台 server 時,就會出現下述警告訊息:

bind: warning: line editing not enabled

要如何避免這個訊息呢?

Linux Bash 出現 bind: warning: line editing not enabled 的問題修復

有幾種方式可以解決這個問題,下述先列兩種:

iatest=$(expr index "$-" i)
if [[ $iatest > 0 ]]; then
   bind ...
fi

if [[ $- =~ i ]]; then
   bind ...
fi

將此段加入 .bashrc 的完整範例如下:

if [[ $- =~ i ]]; then
    # 自動補齊 / 自動完成 [Tab] 和 [Shift-Tab]
    set show-all-if-ambiguous on
    bind '"\e[Z":menu-complete'
    bind 'TAB:complete' # 使用 Shift-Tab 維持原本 Tab 反應
fi

加完後就不會再有警告訊息囉~

相關網頁


關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Unix 並標籤為 , , , , 。將永久鏈結加入書籤。

發表迴響