解决Linux下sudo输入命令不能自动补全的问题(附详细步骤)

无法使用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.mswzjz.com/qtweb/news1/167001.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联