배열에서 항목을 가져오는 bash에 동적 메뉴를 만들었지만 사용자가 특정 항목을 선택하면 메뉴에 반환 코드(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[@]}) ; echo $gerenciar_repositorios
; echo $gerenciar_repositorios
테스트 목적 으로 만 사용하세요!
답변1
숙제에서
repositorios+=($i "$line")
이 정수는 각 행의 첫 번째 값이 됩니다. 그건상표설명서 설명에 언급됨--menu
, 종료 시 인쇄됩니다. 두 번째 부분을 사용하려면 다음을 수행하십시오.
repositorios+=("$line" "$line")
그리고 사용--no-tags
단일 열을 표시하는 옵션입니다. 이것no-items
이 경우 옵션은 비슷한 결과를 제공합니다.