Bash

dialog –menu 在 bash 上輸出整數而不是字元串

  • March 21, 2018

我在 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**選項將給出類似的結果。

引用自:https://unix.stackexchange.com/questions/432422