linux命令行无法补全 linux命令行自动补全

Linux Shell 按Tab键不能补全

在Linux的终端中输入tab键时,有时会出现命令不能补全的情况,此时有一种原因是bash错误。

目前创新互联公司已为1000+的企业提供了网站建设、域名、网站空间、网站托管、服务器托管、企业网站设计、宜章网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

使用 ls -l /bin/sh 命令发现

/bin/sh - /bin/dash

dash是一个不同于bash的Shell,它主要为了执行脚本而出现,而不是交互,它速度更快,但功能比bash要少的多。语法严格遵守POSIX标准。

通过命令 ln -sf bash /bin/sh 可以将dash改成bash。此时问题可以解决。

Ubuntu系统在某些情况下,apt-get 不能补全相关命令,可以通过修改/etc/bash.bashrc文件的相关行,把默认的#号去掉即可。

if [ -f /etc/bash_completion ]; then

/etc/bash_completion

fi

重新登录Shell即可。

此处参考: .

本文出自 “ 低调的前进 ” 博客,请务必保留此出处

为什么我的linux使用root用户,tab键有时候不能补全有时候又可以(我的tab键并没有坏)

如何像使用Ubuntu一样方便使用tab键自动补全命令,bash-completion增强bash的自动补全功能。

最早接触的linux发行版本是ubuntu,后来学习工作等原因转向了RedHat系的发行版本,使用中发现同样使用的是bash但是redhat系中bash的补全功能却比ubuntu中bash的补全功能弱了不少,后来查资料发现是ubuntu中预装了bash-completion这个软件。安装上这个软件后你的bash补全功能就和ubuntu中的一样强大了

在这里下推荐一个YUM源很不错的,软件很齐全

vim /etc/yum.repos.d/bash.repo

[DAG]

name=DAG repo

baseurl=$releasever/en/$basearch/dag/

gpgcheck=0

enabled=1

#yum search bash-completion

#yum install bash-completion

上面这段加入你的yum源中然后就可以很爽的使用tab键了;

linux命令自动补全工具bash-completion,自动补全git、Docker、kubenetes等命令

在 Linux 命令行中,当输入字符后,按Tab 键,Shell 就会列出以这些字符开头的所有可用命令,如果只有一个命令匹配到,按一次 Tab 键就自动将这个命令补全。

如果输入pass,此时按 Tab 键,因为以pass开头的命令只有passwd这个命令, Shell 就会自动补全 passwd 命令。

另外如果输入的字符匹配多个命令则会列出所有可用的命令,比如,如果输入do,此时按 Tab 键 Shell 就会自列出可用的命令。

但是系统自带的命令补全功能有限,自动补全功能仅限于命令和文件名。

可以安装 Bash 命令补全增强软件包 bash-completion来实现更多命令的补全。

以Centos为例

直接通过yum命令安装

bash-completion版本信息

配置命令补全

命令补全的脚本存放在/usr/share/bash-completion/completions/目录,可以在这个目录查看支持增强补全功能的命令。

再试试输入docker命令后按tab键:

可以看到后续可用命令的提示,妈妈再也不用担心我记不住命令了。

同样对于kubenetes也可以实现命令的自动补全和提示:

如果是在安装bash-completion之后安装git是不能自动命令补全,需要手动进行一些配置。

git安装之后文档里会有git-completion.bash文件

安装完git之后重新source一下bash-completion

看看配置之后的效果

如果觉得有用记得收藏点赞


网站名称:linux命令行无法补全 linux命令行自动补全
网站网址:http://myzitong.com/article/dosdjos.html