我正在编写bash脚本。它收到两个参数。第一个只是一个用户可以指定但她想要的字符串。然而,第二个论点必须是已知集合的成员,例如apple
,banana
,pinenut
或pineapple
。我知道如何检查参数是否合法但我觉得必须输入完整的单词很烦人。我可以将参数缩短为a
,b
,pn
或pa
,但这很难记住并且有点难看。有没有办法提供自动完成功能,以便用户可以按“a + tab”并自动完成apple
?
答案 0 :(得分:0)
function autocomp_fruit_script {
local cur opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
fruit="apple banana pinenut pineapple"
if [ $COMP_CWORD -eq 2 ]; then
COMPREPLY=( $(compgen -W "${fruit}" -- ${cur}) )
return 0
fi
}
complete -o nospace -F autocomp_fruit_script fruit_script
fruit_script
是我的剧本。