无法使用Tab键进行命令自动补全。则无法再次使用Tab键进行命令自动补全。我们需要手动修改配置文件来打开bash shell 的自动完成功能。
作为一名使用Linux系统的用户,你可能会遇到这样一个问题:在使用sudo su切换用户时,无法使用Tab键进行命令自动补全。这个问题看似小,却影响了我们在终端中的效率和体验。那么该如何解决呢?本文将为大家提供详细步骤。
专注于为中小企业提供成都网站建设、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业师宗免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
首先需要明确的是,在普通用户状态下,我们可以使用Tab键进行命令自动补全;但当我们通过sudo su切换到root用户后,则无法再次使用Tab键进行命令自动补全。
那么出现这种情况是因为什么原因呢?
其实很简单,就是因为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”这一行,并且让修改后的配置文件立即生效。
好了,现在我们再次通过sudo su切换到root用户状态下,在终端输入任意指令时都能正常使用Tab键进行命令自动补全啦!不过需要注意的是,在切换回普通用户状态下时,可能还需重新输入source ~/.bashrc才能恢复原有状态。
最后总结一下:本文介绍了两种解决Linux下sudo输入命令不能自动补全的方法,相信大家能够轻松解决这一问题。在日常使用中,我们要注意细节,及时发现和解决问题才能更好地提高工作效率。
名称栏目:解决Linux下sudo输入命令不能自动补全的问题(附详细步骤)
网址分享:http://www.shufengxianlan.com/qtweb/news1/167001.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联