Lipetsk *nix Association Forum Lipetsk *nix Association Forum
Новости:
 
*
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?
23 Ноября 2024, 20:19:50


Войти


Страниц: [1]   Вниз
  Печать  
Автор Тема: bash: как пользоваться read?  (Прочитано 6759 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Леголегс
Гуру
******

Карма: 18
Сообщений: 1006


Fedora 12 x86_64


Награды
« : 08 Июня 2008, 14:47:03 »

Вроде всё просто, это работает:
Код:
$ read a; echo $a
gfbnfyu
gfbnfyu
Но я пишу скрипт, это не работает:
Код:
$ echo wtf | read b; echo $b
Конечно можно сделать так:
Код:
b=`echo wtf`; echo $b
Но wtf иногда может быть очень длинным, я опасаюсь глюков, связанных с ограничением на длинну аргументов.
Пока вроде всё работает, но хотелось бы узнать у знатоков, как такое пишется правильно.
Записан

[ Мой FTP ftp://legolegs.homelinux.net ]
[ Репозиторий Fedora http://fedora.leschat.net/ ]
[ Репозиторий Ubuntu http://ubuntu.leschat.net/ ]
IERO
Модератор
*****

Карма: 8
Сообщений: 432


Debian Lenny


Награды
« Ответ #1 : 17 Июня 2008, 11:53:21 »

Код:
read  [-ers]  [-u  fd] [-t timeout] [-a aname] [-p prompt] [-n nchars]
       [-d delim] [name ...]
              One  line  is  read  from  the standard input, or from the file
              descriptor fd supplied as an argument to the -u option...
вроде как read придумывался для получения интерактивного воода.
а вывод другой команды именно обратными кавычками перехватывался всегда.
можно конечно для особо извращенцев создать именованый канал (named pipe) и внутри одного скрипта в него писать-читать. но страшнее изврата я сходу придумать не могу Улыбка
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2011, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM