Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Страницы справочного руководства ОС UNIX на русском : man bash(1), часть пятнадцатая


Информационный Канал Subscribe.Ru

Выпуск 73

man bash(1), часть пятнадцатая

Уважаемые подписчики! Этот выпуск - пятнадцатый в серии, посвященной командному интерпретатору bash. Перевод сделан сегодня, 30 июня.

Поскольку по правилам оформления рассылок в них не должно быть "висящих" гиперссылок, не все перекрестные ссылки в выпусках, посвященных bash, оформлены как гиперссылки. Когда перевод будет закончен, вы сможете скачать с сайта рассылки всю страницу в целом, со всеми необходимыми перекрестными и внешними ссылками.


bash(1)

ВСТРОЕННЫЕ КОМАНДЫ ИНТЕРПРЕТАТОРА (продолжение)

disown [-ar] [-h] [задание ...]
При вызове без опций каждое указанное задание удаляется из таблицы активных заданий. Если задана опция -h, задания не удаляются из таблицы, а помечаются так, что сигнал SIGHUP не посылается заданию при получении сигнала SIGHUP командным интерпретатором. Если задание не указано и не заданы опции -a и -r, используется текущее задание. Если задание не указано, опция -a означает удалить или пометить все задания; опция -r без аргумента задание ограничивает действие выполняющимися заданиями. Команда возвращает значение 0, если только не указано несуществующее задание.

echo [-neE] [аргумент ...]
Выдает аргументы через пробел, дополняя в конце символом новой строки. Статус возврата - всегда 0. Если указана опция -n, символ новой строки не выдается. Если указана опция -e, включается интерпретация следующих управляющих комбинаций символов с обратной косой. Опция -E отключает интерпретацию этих управляющих последовательностей даже в системах, где они интерпретируются по умолчанию. Команда echo не интерпретирует -- как признак завершения опций. Команда echo интерпретирует следующие управляющие последовательности:
\a сигнал (звонок)
\b забой
\c не выводить завершающие символы новой строки
\e управляющий символ
\f прогон страницы
\n новая строка
\r возврат каретки
\t горизонтальная табуляция
\v вертикальная табуляция
\\ обратная косая
\nnn символ, ASCII-код которого - восьмеричное значение nnn (от одной до трех цифр)
\xnnn символ, ASCII-код которого - шестнадцатеричное значение nnn (от одной до трех цифр)
enable [-adnps] [-f имя_файла] [имя ...]
Включает и отключает встроенные команды интерпртетатора. Отключение встроенной команды позволяет выполнять без указания полного имени файл на диске, имя которого совпадает со встроенной командой, хотя обычно встроенные команды просматриваются первыми. Если используется опция -n, указанные по именам команды отключаются, в противном случае они влючаются. Например, чтобы использовать двоичную программу test, которая находится в одном из указанных в переменной PATH каталогов, вместо встроенной версии интерпретатора, выполните enable -n test. Опция -f требует загрузить новую встроенную команду с указанным именем из заданного разделяемого объектного файла в системах, поддерживающих динамическую загрузку. Опция -d удаляет встроенную команду, ранее загруженную с помощью опции -f. Если имена не заданы или если указана опция -p, выдается список встроенных команд интерпретатора. При отсутствии других опций и аргументов этот список содержит все включенные встроенные команды интерпретатора. Если опция -n не указана, выдаются только отключенные встроенные команды. Если указана опция -a, выдаваемый список включает все встроенные команды с признаком включена или отключена. Если указана опция -s, выдаются только встроенные команды, предполагаемые стандартом POSIX. Возвращается значение 0, если только имя являеся именем встроенной команды интерпретатора и не возникла проблема при загрузке новой встроенной команды из разделямого объектного файла.

eval [аргумент ...]
Аргументы читаются и соединяются в единую команду. Эта команда затем читается и выполняется командным интерпретатором, а ее статус выхода возвращается в качестве значения команды eval. Если аргументов нет или все аргументы пустые, команда eval возвращает 0.

exec [-cl] [-a имя] [команда [аргументы]]
Если указана команда, она заменяет командный интерпретатор. При этом новый процесс не создается. Аргументы становятся аргументами команды. Если указана опция -l, командный интерпретатор помещает дефис в качестве нулевого аргумента, передаваемого команде. Именно так делает команда login(1). Опция -c вызывает выполнение команды с пустой средой. Если указана опция -a, командный интерпретатор передает имя как нулевой аргумент выполняемой команде. Если команда не может быть выполнена по той или иной причине, неинтерактивный командный интерпретатор завершает работу, если только не включена опция интерпретатора execfail, - в этом случае команда возвращает код ошибки. Интерактивный командный интерпретатор возвращает код ошибки если файл не может быть выполнен. Если команда не указана, любые перенаправления срабатывают в текущем командном интерпретаторе и статус выхода будет 0. Если при перенаправлении произошла ошибка, статус выхода будет 1.

exit [n]
Вызывает завершение работы командного интерпретатора со статусом n. Если значение n не указано, статусом выхода будет статус выхода последней выполненной команды. Перед заврешением работы интерпретатора срабатыват обработчик сигнала EXIT.

export [-fn] [имя[=слово]] ...
export -p
Указанные имена помечаются для автоматического экспортирования в среду следующих выполняемых команд. Если указана опция -f, экспортируются имена функций. Если имена не указаны или задана опция -p, выдается список всех имен, экспортированных данным командным интерпретатором. Опция -n вызывает удаление признака экспортирования с указанных переменных. Команда export возвращает сатутус выхода 0, если только не указана недопустимая опция, имя несуществующей переменной или в опции -f не указано имя, не являющееся именем функции.

fc [-e редактор] [-nlr] [первая] [последняя]
fc -s [pat=rep] [команда]
Исправить команду. Первая форма выбирает диапазон команд, от первой до последней, из списка истории выполнения. Первую и последнюю команду можно задавать строкой (найти последнюю команду, начинающуюся с соответствующей строки) или числом (индекс в списке истории, причем отрицательные значения используются как смещение от номера текущей команды). Если последняя не указана, при выдаче последней считается текущая команда (так что fc -l -10 выдает последних 10 команд), а для остальных опций предполагается, что последняя совпадает с первой. Если первая не указана, ею становится предыдущая команда при редактировании и -16 (шестнадцатая с конца списка истории) при выдаче.

Опция -n подавляет выдачу номеров команд. Опция -r изменяет порядок выдачи команд на противоположный. Если указана опция -l, команды выдаются в стандартный выходной поток. В противном случае вызывается указанный редактор, которому передается файл с соответствующими командами. Если редактор не задан, используется значение переменной FCEDIT или значение переменной EDITOR, если FCEDIT не установлена. Если не установлены обе переменные, используется редактор vi. По завершении редактирования, отредактированные команды выдаются и выполняются.

Вторая форма требует повторного выполнения команды после замены каждого вхождения pat на rep. Полезно задать псевдоним "r=fc -s", так что при наборе "r cc" будет выполнена последняя команда, начинавшаяся со строки "cc", а при вводе "r" будет повторно выполняться последняя команда.

Если используется первая форма, команда возвращает значение 0, если только не указана недопустимая опция или первая или последняя команда выходит за пределы номеров команд в списке истоии. Если указана опция -e, возвращается статус выхода последней выполненной команды или ошибка, произошедшая при работе с временным файлом команд. Если используется вторая форма, возвращается статус выхода повторно выполненной команды, если только команда не задает несуществующую строку в списке истории, - в этом случае команда fc возвращает 1.

fg [задание]
Возобновляет работу задания в приоритетном режиме и делает это задание текущим. Если задание не указано, используется текущее задание командного интерпретатора. Возвращается значение статуса выхода команды, переведенной в приоритетный режим, или 1 если управление заданиями отключено или, при включенном управлении заданиями, если указано несуществующее задание или задание, запущенное при отключенном управлении заданиями.

getopts строка_опций имя [аргументы]
Команда getopts используется процедурами командного интерпретатора для разбора позиционных параметров. Строка_опций содержит буквы опций, которые необходимо распознать; если после буквы указано двоеточие, предполагается, что у опции должен быть аргумент, отделяемй от нее пробельным символом. При каждом вызове команда getopts помещает в переменную интерпретатора с указанным именем очередную опцию, создавая переменную, если она еще не существует, а индекс следующего аргмента - в переменную OPTIND. OPTIND получает значение 1 при каждом вызове командного интерпретатора или сценария. Если опция должна иметь аргумент, команда getopts помещает этот аргумент в переменную OPTARG. Командный интерпретатор не сбрасывает значение OPTIND автоматически. Между вызовами команды getopts в том же командном интерпретаторе, если необходимо использовать новый набор параметров, надо сбрасывать это значение явно.

Когда все опции обработаны, команда getopts завершает работу со значением, большим нуля. OPTIND при этом содержит индекс первого аргумента, не являющегося опцией, а переменная имя получает значение ?.

Команда getopts обычно обрабатывает позиционные параметры, но если заданы аргументы, getopts разбирает их.

Команда getopts может сообщать об ошибках двумя способами. Если первый символ строки_опций - двоеточие, используется немногословное информирование об ошибках. При обычной работе выдаются диагностические сообщения, если обнаруживаются недопустимые опции или недостающие аргументы. Если переменная OPTERR имеет значение 0, сообщения об ошибках не выдаются, даже если первым символом строки_опций не является двоеточие.

Если обнаружена недопустимая опция, getopts помещает ? в переменную имя и, если не задано немногословное информирование, выдает сообщение об ошибке и сбрасывает переменную OPTARG. Если getopts работает в режиме немногословного информирования, символ опции помещается в переменную OPTARG и никакие диагностические сообщения не выдаются.

Если обязательный аргумент не обнаружен, и для getopts не задано немногословное информирование, переменная имя получает значение ?, переменная OPTARG сбрасывается, и выдается диагностическое сообщение. Если getopts работает в режиме немногословного информирования, переменная имя получает значение :, а в переменную OPTARG помещается символ опции.

Команда getopts возвращает 0, если опция, указанная или не указанная, обнаружена. Она возвращает ложь, если достигнут конец опций или произошла ошибка.


В следующем выпуске

Очередной выпуск будет посвящен следующему фрагменту справочного руководства bash(1). Выйдет он, вероятно, 2 или 3 июля.

С наилучшими пожеланиями,

  В.К.



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное