如果输入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
看看配置之后的效果
如果觉得有用记得收藏点赞
在Python模式交互下,tab自动补全会提高代码效率,通过以下步骤可以很方便的实现自动补全。1.获取 *** 作目录
[root@liu site-packages]# pythonPython 2.6.6 (r266:84292, Nov 22 2013, 12:16:22)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.>>>import sys>>>sys.path
['', '/usr/lib64/python26.zip', '/usr/lib64/python2.6', '/usr/lib64/python2.6/plat-linux2', '/usr/lib64/python2.6/lib-tk', '/usr/lib64/python2.6/lib-old', '/usr/lib64/python2.6/lib-dynload', '/usr/lib64/python2.6/site-packages', '/usr/lib64/python2.6/site-packages/gtk-2.0', '/usr/lib/python2.6/site-packages']>>>123456789
可以看出,我的工作目录是/usr/lib/python2.6/site-packages/。
2.进入工作目录,编写tab.py补全文件
[root@liu site-packages]# cd /usr/lib/python2.6/site-packages/[root@liu site-packages]# vim tab.py 123
tab.py内容如下,建议粘贴的时候保证格式正确性
1 #!/usr/bin/python
2 # python tab file
3 import sys 4 import readline 5 import rlcompleter 6 import atexit 7 import os 8 # tab completion
9 readline.parse_and_bind('tab: complete') 10 # history file
11 histfile = os.path.join(os.environ['HOME'], '.pythonhistory') 12 try: 13 readline.read_history_file(histfile) 14 except IOError: 15 pass
16 atexit.register(readline.write_history_file, histfile) 17
18 del os, histfile, readline, rlcompleter123456789101112131415161718
3.添加环境变量,使其生效
[root@liu site-packages]# cd [root@liu ~]# vim .bashrc123
在末尾添加一行
export PYTHONSTARTUP=/usr/lib/python2.6/site-packages/tab.py1
4.重读.bashrc文件
source .bashrc1
或者
. .bashrc1
5.测试效果
[root@liu ~]# python
Python 2.6.6 (r266:84292, Nov 22 2013, 12:16:22)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>import math>>>math.math.__class__( math.acos( math.fsum(math.__delattr__( math.acosh( math.hypot(math.__dict__ math.asin( math.isinf(math.__doc__math.asinh( math.isnan(math.__file__ math.atan( math.ldexp(math.__format__(math.atan2( math.log(math.__getattribute__( math.atanh( math.log10(math.__hash__( math.ceil( math.log1p(math.__init__( math.copysign( math.modf(math.__name__ math.cos( math.pimath.__new__( math.cosh( math.pow(math.__package__math.degrees( math.radians(math.__reduce__(math.e math.sin(math.__reduce_ex__( math.exp( math.sinh(math.__repr__( math.fabs( math.sqrt(math.__setattr__( math.factorial( math.tan(math.__sizeof__(math.floor( math.tanh(math.__str__( math.fmod( math.trunc(math.__subclasshook__( math.frexp(
>>>math.123456789101112131415161718192021222324252627
完成。我一开始一直报错,然后通过排查就是因为tab.py格式不正确。注意其格式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)