Bash
dialog –menu 在 bash 上輸出整數而不是字元串
我在 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
僅用於測試目的!
在你的任務中
repositorios+=($i "$line")
整數成為每行中的第一個值。即在退出時列印的手冊描述中提到的標籤。**
--menu
**如果你想使用第二部分,你可以做repositorios+=("$line" "$line")
並使用該**
--no-tags
選項顯示單列。在這種情況下,該no-items
**選項將給出類似的結果。