Как использовать Zenity для отображения содержимого файлов с галочками рядом с каждой строкой файла

Я пытаюсь дать визуальный вывод для списка файлов у меня есть. То, что я хочу сделать, это отобразить флажок рядом с каждой строкой из файла

Я собрал следующую команду zenity, но моя главная проблема в том, что мои списки файлов могут быть довольно длинными. Из приведенной ниже команды я определяю значения как TRUE "" или FALSE ""

Мой вопрос заключается в том, могу ли я прочитать содержимое и поместить их в следующую команду (или что-то подобное) без необходимости делать очень длинную команду

ans=$(zenity  --list  --text "Show List" --checklist  --column "Pick" --column "List" FALSE "BLAH" TRUE "Blah" FALSE "Blah2" FALSE "Blah3" --separator=":"); echo $ans

С уважением

Павел

1 ответ

Решение
# create an array with FALSE and lines from the file
unset list
while read -r line
do
    list+=("FALSE")
    list+=("$line")
done < data_file

# set some entries to TRUE
for entry in 0 2 5 11 12 19
do
    list[entry]="TRUE"
done

# display the dialog
ans=$(zenity --list --text "Show List" --checklist --column "Pick" --column "List" "${list[@]}" --separator=":")
echo $ans    
Другие вопросы по тегам