bash自定义命令补全

本文介绍了如何在bash脚本中处理命令行参数-i和-o时,实现路径的tab补全功能,利用COMP_WORDS和COMP_CWORD变量以及compopt和compgen函数来完成路径的动态补全。

1、路径补全

需求为命令带有-i/-o两个选项,-i表示输入的路径,-o表示输出的路径。要求能够tab补全相关路径

latest="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"

compopt +o nospace
compopt +o plusdirs

words=""
case "${prev}" in
	-i|-o)
        compopt -o nospace
        compopt -o plusdirs
        words=$(compgen -d ${latest})
        ;;
    *)
    words="-i -o"
    ;;
esac
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值