linux bash如何table补齐预设参数
1、自动补全是Bash Shell的功能,相关的命令(compgen、complete、compopt)
创新互联建站拥有一支富有激情的企业网站制作团队,在互联网网站建设行业深耕十余年,专业且经验丰富。十余年网站优化营销经验,我们已为1000+中小企业提供了成都网站制作、成都做网站、外贸营销网站建设解决方案,按需网站制作,设计满意,售后服务无忧。所有客户皆提供一年免费网站维护!
2、complete实例
创建hello_complete,内容:
complete -F _hello_complete_func hello.sh
_hello_complete_func ()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="help usage version"
if [[ ${cur} == * ]] ; then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
}
3、source hello_complete让补全的参数生效。
4、创建hello.sh
#!/bin/sh
echo "hello world"
5、./hello.sh [TAB][TAB]
help usage version
6、不用complete简单的提醒需要输入参数
#!/bin/sh
str=$1
if [[ $1 == '' ]];then
echo "Usage: $0 help|version"
exit 0;
fi
echo "$str"
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系统中,输入一个命令,按一次TAB键会补全命令,按两次TAB键,就会列出所有以输入字符开头的可用命令。这个功能被称作命令补全。默认情况下,bash命令行可以自动补全文件或目录名称。
要让可编程命令补全功能在你的终端起作用 ,你只需要执行/etc/bash_completion即可。如果你没有找到/etc/bash_completion文件,那么你只需要通过使用apt-get命令来安装bash_completion 包即可。
用法示例:
在输入write命令之后,如果你按两次TAB按键,自动补全功能会提供执行write操作的列表。
Linux Shell 按Tab键不能补全
在Linux的终端中输入tab键时,有时会出现命令不能补全的情况,此时有一种原因是bash错误。
使用 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下的终端tab自动补全命令是怎么实现的
一方面文件实质都存放在根目录下,树状目录,所以tab可以在当前指定目录下寻找i节点信息补齐路径或者文件名; 另一方面tab可以去查询环境变量设置里面/etc/bin的命令文件,补齐命令。
windows系统下用putty访问Linux,Tab命令补全功能如何实现?
Linux下TAB命令补全是bash的功能。putty登陆linux后需要切换到bash shell,先查看系统可用的shell种类:
[oracle@zeng ~]$ chsh -l
/bin/sh
#这个不能使用tab补全命令
/bin/bash
#修改为这个bash shell即可
/sbin/nologin
/bin/tcsh
/bin/csh
/bin/ksh
修改当前的shell
[oracle@zeng ~]$ chsh
Changing shell for oracle.
Password:
New shell [/bin/bash]: /bin/bash
Shell changed.
网站标题:linux命令补全设置 linux命令行补全
链接地址:http://scyingshan.cn/article/hgcpgp.html