在CentOS 8linux中如何设置bash自动完成的功能(命令补全功能)

时间:2019-11-20 08:52:56  来源:igfitidea点击:

Bash是一个免费的开源shell。
它是一个与sh兼容的命令语言解释器,用于执行从标准输入或者文件读取的命令。
Bash无需修改就可以运行大多数sh脚本。bash completion是一组shell函数,它们利用了centos8上bash的可编程完成特性。
在这个教程中,我们将学习如何在CentOS 8中安装和启用Bash自动完成功能(补全功能)。

bash中如何启用补全功能

在CentOS Enterprise Linux 8中添加bash补全的步骤如下:

  1. 搜索bash completion软件包

sudo yum search bash-completion

  1. 安装bash-completion:

sudo yum install bash-completion

或者

sudo dnf install bash-completion

  1. 安装包创建了一个新文件 /etc/profile.d/bash_completion.sh
vi /etc/profile.d/bash_completion.sh

内容如下:

if [ -n "${BASH_VERSION-}" -a -n "${PS1-}" -a -z "${BASH_COMPLETION_VERSINFO-}" ]; then
 
    # Check for recent enough version of bash.
    if [ ${BASH_VERSINFO[0]} -gt 4 ] || \
       [ ${BASH_VERSINFO[0]} -eq 4 -a ${BASH_VERSINFO[1]} -ge 1 ]; then
        [ -r "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion" ] && \
            . "${XDG_CONFIG_HOME:-$HOME/.config}/bash_completion"
        if shopt -q progcomp && [ -r /usr/share/bash-completion/bash_completion ]; then
            # Source completion code.
            . /usr/share/bash-completion/bash_completion
        fi
    fi
 
fi
fi
  1. 需要退出当前shell,重新登录。

或者不退出当前shell, 执行下面命令使配置直接生效:

source /etc/profile.d/bash_completion.sh

现在就可以在bash中使用命令补全功能了。
输入部分命令后,按TAB键完成补全。