Linux中10个有用的命令行补齐命令

在Linux系统中,输入一个命令,再按两次TAB键,就会列出所有以输入字符开头的可用命令。这并不新鲜,很可能你已经知道了这个。这个功能被称作命令补全。默认情况下,bash命令行可以自动补全文件或目录名称。不过,我们可以使bash命令行补全执行更多的操作,通过补全命令可以让它成就下一个辉煌。

这个教程说明了我们是怎样使用可编程的命令行补全功能(programmable completion)把自动补全的功能应用于选项或者命令行参数。

例如:在输入write命令之后,如果你按两次TAB按键,自动补全功能会提供执行write操作的列表。

《Linux中10个有用的命令行补齐命令》 图示

在下面的例子中,输入telnet命令将会显示可用了主机名:

《Linux中10个有用的命令行补齐命令》

《Linux中10个有用的命令行补齐命令》

1、查看现有的bash补全命令

启用可编程的bash命令行补全功能,就可以定义一套bash补全命令。命令行补全可以用来定义bash补全命令。

来看一下现有的bash补全功能,使用完整的命令,如下:

《Linux中10个有用的命令行补齐命令》

2、Bash中标准补全的列表

Bash为linux用户默认提供了下面的标准补全命令。

变量名补全(Variablename completion)

用户名补全(Username completion)

主机名补全(Hostname completion)

Path路径补全(Pathname completion)

文件名补全(Filename completion)

我们已经在更早的一篇文章bash standard completion中讨论了这些。

3、为获取命令定义补全命令

使用-c参数定义一个补全命令来获得可使用的命令列表。在下面的例子中,为which命令定义了补全命令:

《Linux中10个有用的命令行补齐命令》

就像上面看到的,如果按”y”,所有的命令都会显示出来。

《Linux中10个有用的命令行补齐命令》

《Linux中10个有用的命令行补齐命令》

《Linux中10个有用的命令行补齐命令》

《Linux中10个有用的命令行补齐命令》

《Linux中10个有用的命令行补齐命令》

9、编写你自己的函数以实现自动补全功能

你可以声明一个函数来定义补全功能。使用-F参数,被传入到补全命令的函数名,可以执行并。例如,函数可以写成下面的样式。

《Linux中10个有用的命令行补齐命令》

《Linux中10个有用的命令行补齐命令》

10、当第一规范没有进行匹配时,就需要执行第二规范

《Linux中10个有用的命令行补齐命令》

    原文作者:慕课网
    原文地址: https://www.jianshu.com/p/4c6bfe07541b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞