如何解决Bash脚本自动完成无法正常工作
我正在尝试编写一个简单的bash脚本,该脚本将仅用制表符完成命令的第一个参数。当我在第一个参数的任何字符之前制表符完成时,它将按预期提供建议。但是,如果我至少键入了一个参数字符,它将不会提供建议。我不太明白为什么(bash脚本非常新)。这是完整的代码。
#!/bin/bash
_is_complete_parameter()
{
for i in "${COMP_WORDS[@]}"
do
if [ "${COMP_WORDS[1]}" = "$i" ]
then
return 1
fi
done
return 0
}
_hydra_complete()
{
if [ ${#COMP_WORDS[@]} -ge 2 ]
then
return
fi
result=_is_complete_parameter
if [ ${#COMP_WORDS[@]} -eq 1 ] && [ "$result" = "1" ]
then
return
fi
COMPREPLY=($(compgen -W "list make source" "${COMP_WORDS[1]}"))
}
complete -F _hydra_complete hydra
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。