我创建了一个简单的bash函数:http://shr.im/ionyse-notify
我想添加一些完成文件。
我发现了两个有趣的功能:
我怎么能说第一个参数,它应该使用_known_hosts完成,而第二个参数使用_user_at_host
#!/bin/bash
_send-msg_complete()
{
local cur prev
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
if [ $COMP_CWORD -eq 1 ]; then
COMPREPLY=( $(compgen -F _known_hosts -- $cur) )
elif [ $COMP_CWORD -eq 2 ]; then
COMPREPLY=( $(compgen -F _user_at_host -- $cur) )
fi
return 0
} &&
complete -F _send-msg_complete send-msg
这是我所拥有的,但它不起作用。怎么了?
答案 0 :(得分:0)
实际上,这很简单:
#!/bin/bash
_send-msg_complete()
{
local cur prev
COMPREPLY=()
cur=${COMP_WORDS[COMP_CWORD]}
prev=${COMP_WORDS[COMP_CWORD-1]}
if [ $COMP_CWORD -eq 1 ]; then
_known_hosts
elif [ $COMP_CWORD -eq 2 ]; then
_user_at_host
fi
return 0
} &&
complete -F _send-msg_complete send-msg