В остальном, оставляйте пробелы вокруг имен команд ('[' - это команда - вы можете даженайдите его в /bin/[
, хотя это также встроенная оболочка) и аргументы.
read
read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars]
[-p prompt] [-t timeout] [-u fd] [name ...]
Одна строка считывается из стандартного ввода или из дескриптора файла fd, предоставленного в качестве аргумента опции '-u', и первое слово присваивается первому имени, второе слово - второмуимя и т. д. с оставшимися словами и их промежуточными разделителями, присвоенными фамилии.Если из входного потока прочитано меньше слов, чем имён, оставшимся именам присваиваются пустые значения.Символы в значении переменной IFS используются для разделения строки на слова.Символ обратной косой черты '\' может использоваться для удаления любого специального значения для следующего прочитанного символа и для продолжения строки.Если имена не указаны, считываемая строка присваивается переменной REPLY.Код возврата равен нулю, если только конец файла не встречен, время ожидания чтения (в этом случае код возврата больше 128) или неверный дескриптор файла предоставляется в качестве аргумента для -u.
Опции, если они указаны, имеют следующие значения:
-a aname Слова присваиваются последовательным индексам переменной массива aname, начиная с 0. Все элементы удаляются из aname перед присваиванием.Другие аргументы имени игнорируются.
-d delim Первый символ delim используется для завершения строки ввода, а не перевода строки.-e Readline (см. главу 8 [Редактирование командной строки], стр. 93) используется для получения строки.Readline использует текущие (или значения по умолчанию, если редактирование линии ранее не было активными) настройки редактирования.-i текст Если для чтения строки используется Readline, текст помещается в буфер редактирования перед началом редактирования.
-n nchars read возвращает после чтения символов nchars, а не в ожидании полной строки ввода, ноСоблюдайте разделитель, если перед разделителем читается меньше, чем nchars символов.
-N nchars read возвращает после чтения точно символов nchars вместо ожидания полной строки ввода, если только EOF не обнаружен или время ожидания не истекло.Символы-разделители, встречающиеся во входных данных, не обрабатываются специально и не приводят к тому, что чтение возвращается до тех пор, пока не будут прочитаны символы nchars.
-p приглашение Отображать приглашение без завершающего перевода строки перед попыткой чтения любого ввода.Подсказка отображается только в том случае, если ввод поступает с терминала.
-r Если задана эта опция, обратная косая черта не действует как escape-символ.Обратная косая черта считается частью линии.В частности, пара с обратной косой чертой и новой строкой не может использоваться в качестве продолжения строки.
-s Silent mode.Если вход поступает с терминала, символы не отображаются.
-t тайм-аут Причина чтения для тайм-аута и возврата ошибки, если полная строка ввода не читается в течение секунд ожидания.Тайм-аут может быть десятичным числом с дробной частью после десятичной точки.Эта опция эффективна, только если read читает входные данные из терминала, канала или другого специального файла;это не влияет на чтение из обычных файлов.Если тайм-аут равен 0, чтение возвращает успех, если входные данные доступны в указанном файловом дескрипторе, в противном случае ошибка.Состояние выхода превышает 128, если превышено время ожидания.
-u fd Чтение ввода из файлового дескриптора fd.