The OpenNET Project / Index page

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

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

"Непонятная работа команды read"  +/
Сообщение от Alexander7 (ok) on 20-Июл-17, 01:25 
Если file не содержит конца строки, то

[ -f file ] && read A < file || A=

- не инициализируется переменная A

Пришлось взять в скобки

[ -f file ] && { read A < file ; } || A=

- так работает.

Т.е. не читает, если read использован с оператором && и файл без конца строки.

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Непонятная работа команды read"  +/
Сообщение от Andrey Mitrofanov on 20-Июл-17, 09:25 
> Если file не содержит конца строки, то
> [ -f file ] && read A < file || A=
> - не инициализируется переменная A

"не содержит конца строки" => read возвращает rc=1 и ты _сам_ делаешь A="".

$ read A < <(echo -n 123); echo rc=$?  A=$A
rc=1 A=123
$ read A < <(echo 123); echo rc=$?  A=$A
rc=0 A=123

> Т.е. не читает, если read использован с оператором && и файл без
> конца строки.

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

2. "Непонятная работа команды read"  +/
Сообщение от Alexander7 (ok) on 20-Июл-17, 15:21 
Спасибо, получается, сам себе ... наступил.

Маленькая поправка - проблема не в отсутствии конца строки, а в достижении конца файла.
https://www.opennet.ru/man.shtml?topic=bash&category=1
>Статус выхода - 0, если только не встретился символ конца файла.

Читал учебник - не акцентирован случай с концом файла, а в man - только одна строчка про конец.

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

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

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




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

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