The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"/dev/stdin в bash"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"/dev/stdin в bash"  +/
Сообщение от rx10nth (ok) on 30-Авг-11, 22:00 
Доброго времени.
Не подскажите, каким образом в bash скрипте можно проигнорировать чтение с /dev/stdin, если туда ничего не передано?
Проблема заключается в следующем: если на стандартный ввод ничего не передано, скрипт просто подвисает в ожидании того что оттуда будет что то получено.
Даже если проверить /dev/stdin на null, всё равно на обращении виснет.
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "/dev/stdin в bash"  +/
Сообщение от Аноним (??) on 31-Авг-11, 08:16 
Доброго времени!

Если в скрипте используется read, то можно использовать параметр -t timeout.
Мне не ясна как сама задача, которая требует такой схемы, так и реализачия скрипта.
>Даже если проверить /dev/stdin на null

Как вы его проверяете!

Для интерактивного взаимодействия можно использовать pipeline и перенаправление.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "/dev/stdin в bash"  +/
Сообщение от rx10nth (ok) on 31-Авг-11, 14:22 
> Доброго времени!
> Если в скрипте используется read, то можно использовать параметр -t timeout.
> Мне не ясна как сама задача, которая требует такой схемы, так и
> реализачия скрипта.
>>Даже если проверить /dev/stdin на null
> Как вы его проверяете!
> Для интерактивного взаимодействия можно использовать pipeline и перенаправление.

Благодарствую за наводку. Раньше делал по дубовому ;), cat </dev/stdin и если ничего нет, всё глохло.

С read с таймаутом или с проверкой дескриптора всё как и требовалось, сейчас как-то так отрабатывает нормально.

if ! [ -t 0 ]; then
        read -a var_name
fi


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

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




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

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