LINUX.ORG.RU

[Shell скрипты] Утилита dialog, вывод результата работы двух файлов в textbox


0

1

Близится время сдачи так что это скорее всего последний вопрос, помоги пожалуйста и с ним.

	  dialog --title  "Ввод данных" --inputbox "Введите строку для записи в разделяемую память:"  10 100 2>temp2
	  if [ "$?" = "0" -a $(stat -c %s temp2) -ge "1" ]
	  then
	    str=$(cat temp2)
	    ./server & ./client $str 0>temp3 1>temp3; dialog --title "Результат работы разделяемой памяти" --textbox ./temp3 100 100

Работа команды client нормально перенаправляется в файл temp3 в то время как server отрабатывает в консоли, подскажите как сделать чтоб он тоже перенаправлялся в файл temp3 для последующего вывода в textbox.

Не совсем, но я уже додумался что просто клиент надо добавлять в конец файла, вот такой код вроде работает как надо:
[code=Bash]./shmem/server 0>temp3 1>temp3 & ./shmem/client $str 0>>temp3 1>>temp3 [/code]

Petros9n ()
Ответ на: комментарий от hope13

есть во такой код #!/bin/bash tmpf=tmp1$$ param2=tmp$$

until false; do dialog --title «Ввод данных :» --clear \ --inputbox «Введите строку для записи в разделяемую память :» 0 0 2>$tmpf retval=$? case $retval in 0) if [ -s $tmpf ]; then a=`«cat $tmpf»` export a gnome-terminal -e 'bash -c "./server; exec bash"' ./client $a break else export param1=«Сообщение :» echo -e «\n Вы ввели не все параметры для команды ...» 1>$param2 export param2 export param3=«7» export param4=«50» ./ozy ./cs_start break fi;; 1) break;; 255) break;; esac done

rm -f *tmp* не передается вводимая строка в програму

serg12 ()
Ответ на: комментарий от serg12

сломал глаза пока читал. поэтому проверил не всё.

then a=`"cat $tmpf"`[/code ]

зaчем cat? обыкновенного присвоения не хватит?

then a=`"cat $tmpf"` export a gnome-terminal [/code ]

может забыл "$" перед а?

then a=`"cat $tmpf"` export $a gnome-terminal [/code ]

Я даже не смотрел, что скрипт делает, т.к. не читается.
hope13 ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.