Получить переменную из списка Zenity, сгенерированную из CSV-файла.

На 15.10 wily (libgtk-3-0) это сработало для меня:

export GTK_OVERLAY_SCROLLING=0
1
задан 30 July 2015 в 15:11

2 ответа

Я думаю, вы просто хотите что-то подобное; он сохранит выбор в переменной $var:

var="$(awk -F ';' '{print $1}' data.csv | zenity --list --text "Choose witch IP-address you want to connect to " --column "Choose" 2>/dev/null)"

enter image description here

1
ответ дан 23 May 2018 в 18:38

Один из вариантов - отделить конструкцию списка ввода от запуска команды zenity, возможно, используя массив bash, например

#!/bin/bash

infile="data.csv"

declare -a iplist

while IFS=\; read -r IP hostname subnetmask gateway; do 
  iplist+=("$IP")
done < "$infile"

ans="$(zenity --list \
              --text "Choose which IP-address you want to connect to " \
              --column "Choose" "${iplist[@]}")"

echo "You chose: $ans"

Также обратите внимание, что вам не нужно сохранять и восстанавливать IFS, так как вы можете определить пользовательский IFS=\; в командной строке read.

0
ответ дан 23 May 2018 в 18:38

Другие вопросы по тегам:

Похожие вопросы: