新聞中心
無法使用Tab鍵進行命令自動補全。則無法再次使用Tab鍵進行命令自動補全。我們需要手動修改配置文件來打開bash shell 的自動完成功能。
作為一名使用Linux系統(tǒng)的用戶,你可能會遇到這樣一個問題:在使用sudo su切換用戶時,無法使用Tab鍵進行命令自動補全。這個問題看似小,卻影響了我們在終端中的效率和體驗。那么該如何解決呢?本文將為大家提供詳細步驟。

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)師宗免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
首先需要明確的是,在普通用戶狀態(tài)下,我們可以使用Tab鍵進行命令自動補全;但當(dāng)我們通過sudo su切換到root用戶后,則無法再次使用Tab鍵進行命令自動補全。
那么出現(xiàn)這種情況是因為什么原因呢?
其實很簡單,就是因為root用戶沒有開啟bash shell 的自動完成功能。而普通用戶則默認開啟了此功能。
所以要想解決這個問題,我們需要手動修改配置文件來打開bash shell 的自動完成功能。
接下來我將分別介紹兩種方法:
方法一:1. 通過vi或nano等編輯器打開/etc/bash.bashrc文件
sudo vi /etc/bash.bashrc
2. 找到以下代碼:
# 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
3. 將代碼中的if ! shopt -oq posix; then改為if [ "$PS1" ]; then,即:
if [ "$PS1" ]; 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
4. 保存修改并退出。
5. 輸入以下命令使配置文件生效:
source ~/.bashrc
方法二:如果你覺得上面那種方式太麻煩,可以直接使用一道命令來打開自動完成功能:
echo "complete -cf sudo" >> ~/.bashrc && source ~/.bashrc
這條命令的作用是在~/.bashrc文件末尾添加“complete –cf sudo”這一行,并且讓修改后的配置文件立即生效。
好了,現(xiàn)在我們再次通過sudo su切換到root用戶狀態(tài)下,在終端輸入任意指令時都能正常使用Tab鍵進行命令自動補全啦!不過需要注意的是,在切換回普通用戶狀態(tài)下時,可能還需重新輸入source ~/.bashrc才能恢復(fù)原有狀態(tài)。
最后總結(jié)一下:本文介紹了兩種解決Linux下sudo輸入命令不能自動補全的方法,相信大家能夠輕松解決這一問題。在日常使用中,我們要注意細節(jié),及時發(fā)現(xiàn)和解決問題才能更好地提高工作效率。
網(wǎng)站題目:解決Linux下sudo輸入命令不能自動補全的問題(附詳細步驟)
鏈接地址:http://www.dlmjj.cn/article/cogcepc.html


咨詢
建站咨詢
