linux命令补全设置 linux命令行补全

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://azwzsj.com/article/hgcpgp.html