LINUX.ORG.RU

История изменений

Исправление DonkeyHot, (текущая версия) :

Лучше использовать разделитель \t или \n — пользоваелю будет сложнее это ввести и всё сломать.

login=0
...
IFS=$'\t' OUTPUT=($(zenity...))
echo ${OUTPUT[login]}
IMHO вышеупомянутый read красивше выглядит как-то вот так:
function ask() {
  while read что спросить
  do zenity ... || kill или break или echo "cancel"
  done
}
function act() {
  while read ответы
  do
    case $ответы in
    ...
    echo что спросить следующим
    ...
  done
}
# потому, что
batch_mode && COPROC=(0,1) || coproc ask
act <&${COPROC[0]} >&${COPROC[1]}

Исправление DonkeyHot, :

Лучше использовать разделитель \t или \n — пользоваелю будет сложнее это ввести и всё сломать.

login=0
...
IFS=$'\t' OUTPUT=($(zenity...))
echo ${OUTPUT[login]}
IMHO вышеупомянутый read красивше выглядит как-то вот так:
function ask() {
  while read что спросить
  do zenity ... || kill или break или echo "cancel"
  done
}
function act() {
  while read ответы
  do
    case $ответы in
    ...
    echo что спросить следующим
    ...
  done
}
# потому, что
batch_mode && COPROC=(0,1) || coproc asc
act <&${COPROC[0]} >&${COPROC[1]}

Исходная версия DonkeyHot, :

login=0
...
IFS=$'\t' OUTPUT=($(zenity...))
echo ${OUTPUT[login]}

IMHO вышеупомянутый read красивше выглядит как-то вот так:

function ask() {
  while read что спросить
  do zenity ... || kill или break или echo "cancel"
  done
}
function act() {
  while read ответы
  do
    case $ответы in
    ...
    echo что спросить следующим
    ...
  done
}
# потому, что
batch_mode && COPROC=(0,1) || coproc asc
act <&${COPROC[0]} >&${COPROC[1]}

Лучше использовать разделитель \t или \n — пользоваелю будет сложнее это ввести и всё сломать.