다른 플래그의 값에 따라 내 완료 중 하나가 동적으로 생성되는 완료를 작성하려고합니다. 예 :ZSH 이전 플래그에 기초한 완료
local state
_arguments \
'-f[fabric]:fabric:->fabrics' \
'-c[containers/application where log resides]:container:->containers' \
'-l[name of log file]:log:->logs'
case "$state" in
(fabrics)
_values 'fabrics' \
'fab1' \
'fab2'
;;
(containers)
_values 'containers' \
'container1' \
'container2'
;;
(logs)
# show A B C if "-c container1" was entered
# show D E F if "-c container2" was entered
# show G if "-c" was not provided yet
esac
"-l"플래그를 동적으로 생성하는 데 문제가 있습니다.
나는 그것을 작동 시키지만, 나는 첫 번째 색인 부분을 이해하지 못한다. (I)과 -c가 무엇인지 설명해 주시겠습니까? – peter1234
업데이트 됨; 아래 예제 플래그를 사용하여 배열을 검사하는 예제/사용법을 추가했습니다. – hchbaw