Bash에서 대화 상자 값을 출력할 수 없습니다.

Bash에서 대화 상자 값을 출력할 수 없습니다.

대화 상자에 동적 메뉴가 있지만(항목은 배열에서 제공됨) 메뉴에 선택한 옵션이 표시되지 않습니다.

gp_options=()
for i in `find ~ -type d -name .git`; do
    gp_options+=("" "$i")
done

gp_dialog=(dialog --stdout --extra-button --help-button \
--ok-label 'Access repository' \
--extra-label 'Create repository' \
--cancel-label 'Remove repository'
--help-label 'Cancel' \
--backtitle "Welcome to Git Bash `whoami`!" \
--title ' Manage repositories ' \
--menu 'Manage repositories' \
0 0 0 \
"${gp_options[@]}")

dialog --stdout --msgbox "$manage_repositories" 0 0

답변1

몇 시간의 연구 끝에 마침내 답을 찾았습니다.

repositorios=() ; i=0
while read -r line; do
    let i=$i+1
    repositorios+=($i "$line")
done < <( find ~ -type d -name .git )

gerenciar_repositorios=$(dialog --stdout --extra-button --help-button \
--ok-label "Acessar repositório" \
--extra-label 'Criar repositório' \
--cancel-label 'Remover repositório' \
--help-label 'Cancelar' \
--backtitle "Bem vindo ao Git Bash `whoami`!" \
--title ' Gerenciar repositórios ' \
--menu 'Gerenciar repositórios' 0 0 0 \
${repositorios[@]})

관련 정보