0
我想寫一個程序的完成,它需要--with-PROG=
和--PROG-options
作爲可選參數。 PROG
可能是不同的程序之一。有很多不同的程序,所以我想避免爲每個程序手動寫出選項。我曾嘗試以下操作:完成:多個相似的選項
#compdef hello
typeset -A opt_args
local context state line
_hello()
{
typeset -a PROGS
PROGS=('gcc' 'make')
_arguments \
'--with-'${^PROGS}'[path to PROG]:executable:_files' \
'--'${^PROGS}'-options[PROG options]:string:'
}
輸出:
$ hello --gcc-options
--make-options --gcc-options -- PROG options
--with-make --with-gcc -- path to PROG
不過,我想有一個單獨的行每一個人的選擇,並且還與節目名稱替換PROG
。什麼是最好的方式來做到這一點?