Answers:
这是基本指南。
让我们来看一个脚本示例admin.sh,您希望在该脚本上自动完成工作。
#!/bin/bash
while [ $# -gt 0 ]; do
arg=$1
case $arg in
option_1)
# do_option_1
;;
option_2)
# do_option_1
;;
shortlist)
echo option_1 option_2 shortlist
;;
*)
echo Wrong option
;;
esac
shift
done
注意选项候选清单。使用此选项调用脚本将打印出该脚本的所有可能选项。
这里有自动完成脚本:
_script()
{
_script_commands=$(/path/to/your/script.sh shortlist)
local cur prev
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
COMPREPLY=( $(compgen -W "${_script_commands}" -- ${cur}) )
return 0
}
complete -o nospace -F _script ./admin.sh
请注意,要完成的最后一个参数是要将自动补全添加到的脚本的名称。您需要做的就是将自动完成脚本添加为
source /path/to/your/autocomplete.sh
或将其复制到/etc/bash.completion.d