não pode emitir valor de diálogo no bash

0

Eu tenho um menu dinâmico na caixa de diálogo (os itens são fornecidos a partir de uma matriz), mas o menu não está exibindo a opção selecionada

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
    
por HenriqueHBR 20.03.2018 / 13:59

1 resposta

0

Depois de horas de pesquisa, finalmente encontrei uma resposta:

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[@]})
    
por 20.03.2018 / 19:40