首页 > 系统相关 >linux shell 函数,实现自动补全

linux shell 函数,实现自动补全

时间:2023-11-06 13:56:08浏览次数:28  
标签:shell cur CWORD COMP COMPREPLY WORDS linux foo 补全

实例1:

function _bigtool() {
    COMPREPLY=()
    local cur=${COMP_WORDS[COMP_CWORD]};
    local com=${COMP_WORDS[COMP_CWORD-1]};
    case $com in
    'vs')
        COMPREPLY=($(compgen -W 'checkout display remove add' -- $cur))
        ;;
    *)
        ;;
    esac
    return 0
}
complete -F _bigtool vs

实例2:

_foo()
{
    local cur=${COMP_WORDS[COMP_CWORD]}
    COMPREPLY=( $(compgen -W "exec help test" -- $cur) )
}
complete -F _foo foo

标签:shell,cur,CWORD,COMP,COMPREPLY,WORDS,linux,foo,补全
From: https://www.cnblogs.com/cenidema/p/17812460.html

相关文章

  • shell脚本常用命令
    #!/bin/bashecho$1adbdevices>devices.txtecho"开始读取设备"line_num=0whileread-rlinedoif[$line_num!=0]&&[-n"$line"];thendevices_info=`echo$line|cut-d""-f1`echo$d......
  • Perf in Linux
    PerfCommands:perfroot@f5c6cb9f45b1:/#perfusage:perf[--version][--help][OPTIONS]COMMAND[ARGS]Themostcommonlyusedperfcommandsare:annotateReadperf.data(createdbyperfrecord)anddisplayannotatedcodearchive......
  • shell中特殊语法
    #脚本只要发生错误,就终止执行set-e#解决管道的情况,只要一个子命令失败,整个管道命令就失败,脚本会终止执行set-eopipefail#每行行首增加特殊字符sed-i"s#^#\\\'&#g"test.txt#每行行尾增加特殊字符sed-i"s#$#\\\'#g"test.txt#文本中多行合并到一行并以,间隔paste-s......
  • linux 文件名乱码 文件名出现问号 批量修改文件名
    linux文件名乱码文件名出现问号原因:创建文件的批处理文件使用windows编辑的,因为windows的换行是\r\n,而linux换行是\n,出现一些乱码如何处理: 1.linux批量重名名  2.dos2unix把Windows文件转换格式 LinuxShell批量重命名的方法1、删除所有的.bak后缀:rename's/\.bak$......
  • linux 中top命令显示完整的command
    命令比较长时,显示不全(全称,全名),可以用top-c  ......
  • Linux Centos安装JDK1.8教程
    第一步:先下载JDK1.8,可以去官网下载,也可以直接这里的:下载地址:链接:https://pan.baidu.com/s/1f1EDWvG-GzpQRJaC_W4SpA密码:9pj1先检查是否有安装JDK:#rpm-qa|grepjdk先把系统自带的干掉(如果没有直接跳过):   rpm-e--nodepsjava-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64......
  • Java eclipse中shell窗口怎么居中显示
    protectedvoidcreateContents(){shell=newShell();shell.setSize(800,600);shell.setText(title);intwidth=shell.getDisplay().getBounds().width;//找到createContents这个方法,得到屏幕的宽度。intheight=shell.getDi......
  • Linux高频命令
    1.sed字符替换用法;sed's/原字符串/替换字符串/'单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义。单引号”‘’”是没有办法用反斜线”\”转义的,这时候只要把命令中的单引号改为双引号就行了,格式如下:#要处理的字符包含单引号se......
  • 模拟攻击beescms框架网站,并且一步一步渗透测试,上传shell,连接蚁剑,拿到对方网站根目录
    打开网站发现它是beescms框架搭建的网站,一言不合直接用webpathbrute扫描发现了管理员登录页面尝试任意用户名密码登录发现不太行,直接暴力破解,先burp抓数据包发现有4个参数有user,password,code,submit,把submit=ture修改为submit=false验证码就不会刷新了就是284c。接下来......
  • 什么是shell脚本
    什么是shell脚本?当命令或者程序语句写在文件中,我们执行文件,读取其中的代码,这个程序文件就称之为shell脚本。在shell脚本里定义多条Linux命令以及循环控制语句,然后将这些Linux命令一次性执行完毕,执行脚本文件的方式称之为,非交互式方式。Windows中存在*.bat/批处理脚本Linux中......