Bash
使 bash 自動完成工作
我有一個新重新映像的 VPS 伺服器。Bash 選項卡完成和歷史記錄(通過箭頭鍵)在 root 帳戶上按預期工作,但在我的低權限帳戶上完全不存在。我也無法在我輸入的命令中導航以使用箭頭鍵修復拼寫錯誤 - 我只是
^[[D
在終端上得到類似的東西。我.bashrc
的是# enable bash completion in interactive shells if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion elif [ -f /etc/bash_completion ]; then . /etc/bash_completion fi fi
關於如何解決這個問題的任何想法?謝謝!
根據您的描述,bash 的命令行版本功能都不起作用。我支持 muru:最可能的解釋是,實際上您不是在執行 bash,而是在執行一些不同的 shell,例如 dash。請記住,這
/bin/sh
不是 bash — 一些發行版將 bash 安裝為/bin/sh
,但 Ubuntu 沒有。檢查您的登錄外殼是什麼:
getent passwd $USER
如果該行以 結尾
:/bin/bash
,則您的登錄 shell 是 bash。如果它以 結尾:/bin/sh
,則您的登錄 shell 是破折號,這是一個用於編寫腳本的 shell,而不是用於互動使用的 shell。執行
chsh -s /bin/bash
以將您的登錄 shell 更改為 bash。在註銷之前,請確保驗證您仍然可以在另一個終端上登錄。