如何在RHEL 8(Red Hat Linux)中添加bash自动完成功能
时间:2020-01-09 10:37:04 来源:igfitidea点击:
如何在RHEL 8(Red Hat Enterprise Linux 8)中启用自动完成功能?
如何在RHEL 8中编写简单的bash完成代码?
简介:Bash是sh兼容的命令语言解释器,它执行从标准输入或文件读取的命令。
Bash可以运行大多数sh脚本而无需修改。
bash-completion是一组Shell函数,这些函数利用RHEL 8上bash的可编程完成功能。
在本教程中我们学习了如何在RHEL 8中安装和启用Bash自动完成。
如何在RHEL 8中添加bash自动完成
在Red Hat Enterprise Linux 8中添加bash完成的过程如下:
- 打开终端窗口/bash shell提示
- 通过运行以下命令在RHEL 8上搜索bash-completion:
sudo yum search bash-completion
- 通过运行以下命令在RHEL 8上安装bash的可编程完成功能:
sudo yum install bash-completion
- 注销并登录以验证RHEL 8中的bash自动完成是否正常工作
让我们详细了解所有步骤。
如何添加bash完成RHEL 8
Bash补全是自动完成文件名,命令等的有用工具。
键入以下yum命令以在RHEL 8中安装自动完成功能:
$ sudo yum install bash-completion
要么
$ sudo dnf install bash-completion
如何测试Bash的可编程完成
安装程序放置了一个名为/etc/profile.d/bash_completion.sh的shell脚本。
您可以在cat命令的帮助下进行查看:
$ cat /etc/profile.d/bash_completion.sh
输出示例:
# Check for interactive bash and that we haven't already been sourced. 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
如何在RHEL 8上启用bash完成并在当前会话中使用它
上面的脚本将从您的登录会话或开始新的Shell会话时自动获得呼叫。
对于当前会话,请使用source命令加载它:
$ source /etc/profile.d/bash_completion.sh
在键入命令以自动完成语法或选项时,按[TAB]键:
$ sudo yum i[TAB] $ cat /etc/re[TAB]
在RHEL 8上编写第一个简单的bash完成代码
假设您一直想使用ping命令ping通三个服务器的IP地址/主机名。
因此,在shell提示符下键入以下内容:
complete -W '192.168.2.254 theitroad.local google.com' ping
现在键入ping并按[TAB]键以将任何域名/IP地址用于ping命令:
ping [TAB]