The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Перенаправление stderr/stdout в переменную(не в файл) в shel..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Перенаправление stderr/stdout в переменную(не в файл) в shel..."
Сообщение от Gleb Искать по авторуВ закладки on 11-Авг-04, 11:18  (MSK)
Hi, All!

Посоветуйте как лучше сделать сабж.
Спасибо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Перенаправление stderr/stdout в переменную(не в файл) в shel..."
Сообщение от Jake Искать по авторуВ закладки on 11-Авг-04, 12:06  (MSK)
>Hi, All!
>
>Посоветуйте как лучше сделать сабж.
>Спасибо.

var="`<command> 2>&1`"

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Перенаправление stderr/stdout в переменную(не в файл) в shel..."
Сообщение от YuryD Искать по авторуВ закладки(??) on 11-Авг-04, 12:08  (MSK)
#!/bin/csh
#
set VV = `/bin/ls *.pl`
echo $VV
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Перенаправление stderr/stdout в переменную(не в файл) в shel..."
Сообщение от Jake Искать по авторуВ закладки on 11-Авг-04, 12:16  (MSK)
>#!/bin/csh
>#
>set VV = `/bin/ls *.pl`
>echo $VV

тук у тебя в переменную попадет только стандартный вывод, поток ошибок туда не попадет. (добавь к примеру echo "--" перед echo $VV и увидишь это).
надо объединять потоки. csh не пользовался, как объединить потоки не знаю...
как сделать в баше написал выше

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Перенаправление stderr/stdout в переменную(не в файл) в shel..."
Сообщение от YuryD Искать по авторуВ закладки(??) on 11-Авг-04, 13:14  (MSK)
>тук у тебя в переменную попадет только стандартный вывод, поток ошибок туда
>не попадет. (добавь к примеру echo "--" перед echo $VV и

Это верно - поторопился...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Перенаправление stderr/stdout в переменную(не в файл) в shel..."
Сообщение от Gleb Искать по авторуВ закладки on 11-Авг-04, 14:40  (MSK)
Огромное всем спасибо!
конструкция var="`<command> 2>&1`" работает если нет интерактивности
В моем случае <command> интерактивна - "dialog"
Пример:
var=`dialog --inputbox "test" 10 10 2>&1`
echo $var


ЗЫ
Раньше перенаправлял stderr/stdout в переменную припомощи
set var=...
Не могу вспомнить как :(
Напомните ПОЖАЛУЙСТА!
очень нужно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Перенаправление stderr/stdout в переменную(не в файл) в shel..."
Сообщение от Jake Искать по авторуВ закладки on 12-Авг-04, 08:30  (MSK)
>Огромное всем спасибо!
>конструкция var="`<command> 2>&1`" работает если нет интерактивности
>В моем случае <command> интерактивна - "dialog"
>Пример:
>var=`dialog --inputbox "test" 10 10 2>&1`
>echo $var
>
>
>ЗЫ
>Раньше перенаправлял stderr/stdout в переменную припомощи
>set var=...
>Не могу вспомнить как :(
>Напомните ПОЖАЛУЙСТА!
>очень нужно.

exec 3>&1; res="`dialog --inputbox "test" 10 30 2>&1 1>&3`"; exec 3>&-;
echo $res

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Перенаправление stderr/stdout в переменную(не в файл) в shel..."
Сообщение от Jake Искать по авторуВ закладки on 12-Авг-04, 08:37  (MSK)
>>Огромное всем спасибо!
>>конструкция var="`<command> 2>&1`" работает если нет интерактивности
>>В моем случае <command> интерактивна - "dialog"
>>Пример:
>>var=`dialog --inputbox "test" 10 10 2>&1`
>>echo $var
>>
>>
>>ЗЫ
>>Раньше перенаправлял stderr/stdout в переменную припомощи
>>set var=...
>>Не могу вспомнить как :(
>>Напомните ПОЖАЛУЙСТА!
>>очень нужно.
>
>exec 3>&1; res="`dialog --inputbox "test" 10 30 2>&1 1>&3`"; exec 3>&-;
>echo $res

или проще:
res="`dialog --stdout --inputbox "test" 10 30`"; echo $res

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Перенаправление stderr/stdout в переменную(не в файл) в shel..."
Сообщение от Gleb Искать по авторуВ закладки on 12-Авг-04, 09:52  (MSK)
>>>Огромное всем спасибо!
>>>конструкция var="`<command> 2>&1`" работает если нет интерактивности
>>>В моем случае <command> интерактивна - "dialog"
>>>Пример:
>>>var=`dialog --inputbox "test" 10 10 2>&1`
>>>echo $var
>>>
>>>
>>>ЗЫ
>>>Раньше перенаправлял stderr/stdout в переменную припомощи
>>>set var=...
>>>Не могу вспомнить как :(
>>>Напомните ПОЖАЛУЙСТА!
>>>очень нужно.
>>
>>exec 3>&1; res="`dialog --inputbox "test" 10 30 2>&1 1>&3`"; exec 3>&-;
>>echo $res
>
>или проще:
>res="`dialog --stdout --inputbox "test" 10 30`"; echo $res


Jake, спасибо!

В моем "dialog" --stdout - отсутствует :(, вывод идет в stderr.
Но "cdialog" --stdout - есть и все заработало :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру