我試過this other questions's accepted answer但它不適用於我。所以請不要重複投票。開關後的Bash文件名自動完成/參數
我的腳本被命名爲「追蹤器」,它接受下列開關:--dummy --audit_sessiones --user_count --detailed_user_count --parfile
的--parfile
switcj應遵循的文件名。
我有這個自動完成腳本:
_tracker()
{
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="--dummy --audit_sessiones --user_count --detailed_user_count --parfile"
if [[ ${cur} == -* ]] ; then
COMPREPLY=($(compgen -W "${opts}" -- ${cur}))
return 0
fi
opts="ls *"
if [[ ${prev} == --parfile ]]; then
COMPREPLY=("${files[@]##*/}")
return 0
fi
}
complete -F _tracker tracker
開關自動完成正常工作。
但我也希望用戶能夠在參數--parfile
後面使用文件名自動完成,但我無法使其工作。