Рассылка закрыта
При закрытии подписчики были переданы в рассылку "Интернет: маркетинг, реклама, торговля" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
Страницы справочного руководства ОС UNIX на русском : man bash(1), часть восемнадцатая, последняя!
Информационный Канал Subscribe.Ru |
Выпуск 78
man bash(1), часть восемнадцатая, последняя!
Уважаемые подписчики! Этот выпуск - восемнадцатый в серии, посвященной командному интерпретатору bash. Перевод закончен сегодня, 22 июля. Теперь осталось свести все вместе, добавить словарь, перекрестные ссылки, сверить и выложить перевод в сеть, в виде нескольких страниц и как одну страницу. Ждите сообщений о завершении этого фундаментального труда в рассылке.
Поскольку по правилам оформления рассылок в них не должно быть "висящих" гиперссылок, не все перекрестные ссылки в выпусках, посвященных bash, оформлены как гиперссылки. Когда перевод будет закончен, вы сможете скачать с сайта рассылки всю страницу в целом, со всеми необходимыми перекрестными и внешними ссылками.
bash(1)
- suspend [-f]
-
Приостанавливает работу текущего командного интерпретатора, пока он не получит
сигнал SIGCONT. Опция -f отключает предупреждения, если эта команда выполняется в
начальном командном интерпретаторе - безусловно приостановить работу. Статус выхода -
0, если только командный интерпретатор не является начальным, а опция -f - не указана,
или если управление заданиями отключено.
- test выражение
[ выражение ] -
Возвращает статус 0 или 1, в зависимости от результатов проверки условного выражения.
Каждый оператор или операнд должен быть отдельным аргументом. Выражения состоят из
элементов, описанных ранее в разделе "УСЛОВНЫЕ ВЫРАЖЕНИЯ".
Выражения можно комбинировать с помощью следующих операторов, перечисленных по убыванию приоритета.
- ! выражение
-
Истинно, если выражение ложно.
- ( выражение )
-
Возвращает значение выражения. Можно использовать для переопределения обычного
приоритета выполнения операторов.
- выражение1 -a выражение2
-
Истинно, если истинны оба выражения.
- выражение1 -o выражение2
- Истинно, если истинно выражение1 или выражение2.
Команды test и [ проверяют условные выражения с помощью набора правил, основанного на количестве аргументов.
- 0 аргументов
-
Выражение ложно.
- 1 аргумент
-
Выражение истинно только если аргумент - не пустой.
- 2 аргумента
-
Если первый аргумент - !, выражение истинно только если второй аргумент - пустой. Если
первый аргумент - один из унарных условных операторов, перечисленных ранее в разделе
"УСЛОВНЫЕ ВЫРАЖЕНИЯ", выражение истинно, если унарный оператор возвращает истину. Если
первый аргумент не является допустимым унарным условным оператором, выражение ложно.
- 3 аргумента
-
Если второй аргумент - один из бинарных условных операторов, перечисленных ранее в разделе "УСЛОВНЫЕ ВЫРАЖЕНИЯ", результатом проверки будет значение бинарного
условного выражения, использующего первый и третий аргументы в качестве операндов. Если
первый аргумент - !, результат - отрицание двухаргументной проверки второго и третьего
аргументов. Если первый аргумент - только (, а третий - только ), результатом будет
результат одноаргументной проверки второго аргумента. В противном случае, выражение ложно. В этом контексте операторы -a и -o считаются бинарными.
- 4 аргумента
-
Если первый аргумент - !, результат - отрицание трехаргументной проверки оставшихся
аргументов. В противном случае, выражение разбирается и проверяется в соответствии
с приоритетами по перечисленным выше правилам.
- 5 и более аргументов
- Выражение разбирается и проверяется в соответствии с приоритетами по перечисленным выше правилам.
- times
-
Выдает накопленные пользовательское и системное время работы для командного
интерпретатора и запущенных из него процессов. Статус выхода - 0.
- trap [-lp] [аргумент] [сигнал ...]
-
Команда аргумент читается и выполняется при получении командным интерпретатором
указанных сигналов. Если аргумент не указан или задан как -, для всех указанных
сигналов устанавливаются исходные обработчики (те, что были при запуске
командного интерпретатора). Если аргумент - пустая строка, все указанные сигналы
игнорируются командным интерпретатором и вызываемыми им командами. Если указана
опция -p, выдаются команды trap, связанные с каждым из перечисленных сигналов. Если
аргументов нет или указана только опция -p, команда trap выдает список команд(обработчиков), связанных с каждым из сигналов. Сигнал можно задавать как по имени,
определенному в файле <signal.h>, так и по номеру. Если в качестве сигнала
указана конструкция EXIT (0), команда-аргумент выполняется при завершении работы
командного интерпретатора. Если в качестве сигнала указано DEBUG, команда-аргумент
выполняется после каждой простой команды (см. раздел "СИНТАКСИС КОМАНД" ранее).
Опция -l приводит к выдаче списка имен сигналов и соответствующих им номеров.
Сигналы, игнорировавшиеся при входе в командный интерпретатор, нельзя перехватить или
переустановить. Перехваченные сигналы сбрасываются в исходные значения в порожденных
процессах при создании. Статус возврата - 1, если указан недопустимый сигнал; в
противном случае, trap возвращает 0.
- type [-atp] имя [имя ...]
-
При вызове без опций показывает, как имена будут интерпретироваться
при использовании в качестве имени команды. Если указана опция -t, type выдает
одну из строк alias, keyword, function, builtin или file,
если имя, соответственно,
представляет собой псевдоним, зарезервированное слово командного интерпретатора,
функцию, встроенную команду или файл на диске. Если имя не найдено, ничего не
выдается и возвращается статус выхода 1. Если указана опция -p, type вернет
либо имя файла на диске, который будет выполняться при указании имени в качестве
имени команды, либо ничего, если обращения к файлу не будет. Если команда хранится в
хэше, опция -p приводит к выдаче значения из хэша, а не обязательно первого файла,
выбираемого по перечисленным в PATH каталогам. Если использована опция -a, команда
type выдает список всех каталогов, где есть выполняемый файл с соответствующим именем. В список включаются также псевдонимы и функции, если только не указана опция -p. К
хэшу команд не обращаются, если указана опция -a. Команда type возвращает 0,
если хоть один из аргументов найден, и 1 в противном случае.
- ulimit [-SHacdflmnpstuv [ограничение]]
-
Обеспечивает управление ресурсами, доступными для командного интерпретатора и
запущенных им процессов в системах, поддерживающих такое управление. Значение
ограничения может быть числом единиц измерения ресурса или строкой unlimited.
Опции -H и -S указывают, что для данного ресурса устанавливается жесткое или мягкое
ограничение. Жесткое ограничение после установки превосходить нельзя; мягкое
ограничение можно превосходить вплоть до значения соответствующего жесткого
ограничения. Если опции -H и -S не указаны, устанавливаются и мягкое, и жесткое
ограничение. Если ограничение не указано, выдается текущее значение мягкого ограничения
на ресурс, если только не указана опция -H. Если указано несколько ресурсов,
перед значением выдается название и единица измерения ресурса. Другие опции
интерпретируются следующим образом:
-a Выдается информация о всех текущих ограничениях -c Максимальный размер создаваемых файлов core -d Максимальный размер сегмента данных процесса -f Максимальный размер файлов, создаваемых командным интерпретатором -l Максимальный размер сегмента, который может быть привязан к памяти -m Максимальный размер резидентного набора -n Максимальное количество открытых файловых дескрипторов (большинство систем не позволяет устанавливать это значение) -p Размер программного канала в 512-байтовых блоках (его устанавливать нельзя) -s Максимальный размер стека -t Максимальное количество процессорного времени в секундах -u Максимальное количество процессов для одного пользователя -v Максимальный объем виртуальной памяти, доступный командному интерпретатору Если ограничение указано, оно становится новым предельным значением для соответствующего ресурса (опция -a только выдает информацию). Если опции не заданы, предполагается опция -f. Значения представляются в единицах 1024 байта, за исключением опции -t, где значения - в секундах, -p, где значения - в 512-байтовых блоках, и опций -n и -u, для которых значения не масштабируются. Статус выхода - 0, если не указана недопустимая опция, в качестве ограничения не задано не числовое значение, отличное от unlimited, и при установке нового ограничения не произошла ошибка.
- umask [-p] [-S] [маска]
-
Пользовательская маска создания файла устанавливается равной аргументу маска. Если
маска начинается с цифры, она интерпретируется как восьмеричное число; иначе - как
маска в символьном формате, аналогичном используемому в команде chmod(1). Если
маска не указана или задана опция -S, выдается текущее значение маски. Опция -S
вызывает выдачу маски в символьном формате; по умолчанию выдается восьмеричное
число. Если указана опция -p, а маска не задана, результат выдается в виде,
который можно использовать во входной команде. Статус выхода - 0, если маска была
успешно изменена или не указана, и 1 в противном случае.
- unalias [-a] [имя ...]
-
Удаляет имена из списка определенных псевдонимов. Если указана опция -a, удаляются
все определения. Возвращается значение 0, за исключением случаев, когда переданное
имя не является псевдонимом.
- unset [-fv] [имя ...]
-
Для каждого имени удаляет (сбрасывает) соответствующую переменную или функцию.
Если опции не указаны или задана опция -v, удаляются только переменные.
Переменные только для чтения удалять нельзя. Если указана опция -f,
удаляются только определения соответствующих функций. Удаляемая переменная
или функция удаляется из среды, передаваемой последующим командам. Если
сбрасывается одна из переменных RANDOM, SECONDS, LINENO, HISTCMD или DIRSTACK,
эти переменные теряют специальные свойства, даже если они в дальнейшем
снова устанавливаются. Статус выхода - 0, за исключеним случаев, когда имя не
существует или доступно только для чтения.
- wait [n]
- Ждет завершения указанного процесса и возвращает статус его завершения. n может быть идентификатором процесса или спецификацией задания; если указана спецификация задания, ждет завершения всех процессов в конвейере соответствующего задания. Если n не указано, ожидается завершение всех текущих активных порожденных процессов, и возвращается статус ноль. Если n задает идентификатор несуществующего процесса или задания, статус выхода - 127. В противном случае, статусом выхода является статус завершения последнего процесса или задания, завершение которого ждали.
ОГРАНИЧЕННЫЙ КОМАНДНЫЙ ИНТЕРПРЕТАТОР
Если bash запущен по имени rbash или с опцией -r при вызове, командный интерпретатор становится ограниченным. Ограниченный командный интерпретатор используется для создания более управляемой стреды по сравнению с обычным интерпретатором. Он ведет себя аналогично bash, но следующие действия не разрешены или не выполняются:
- изменение текущего каталога с помощью cd
- установка или сброс значений переменных SHELL, PATH, ENV или BASH_ENV
- указание / в именах команд
- указание имени файла, содержащего /, в качестве аргумента для встроенной команды .
- импортирование определений функций из среды командного интерпретатора при запуске
- разбор значения переменной SHELLOPTS из среды командного интерпретатора при запуске
- перенаправление вывода с помощью операторов >, >|, <>, >&, &> и >>
- использование встроенной команды exec для замены командного интерпретатора другой командой
- добавление или удаление встроенных команд с помощью опций -f и -d встроенной команды enable
- указание опции -p для встроенной команды command
- отключение режима ограниченного командного интерпретатора с помощью опций set +r или set +o restricted.
Эти ограничения применяются после чтения файлов начального запуска.
При выполнении команды, которая оказалась сценарием командного интерпретатора (см. раздел "ВЫПОЛНЕНИЕ КОМАНД" ранее), rbash отключает любые ограничения в командном интерпретаторе, порожденном для выполнения сценария.
ССЫЛКИ
-
Bash Features, Brian Fox and Chet Ramey
The Gnu Readline Library, Brian Fox and Chet Ramey
The Gnu History Library, Brian Fox and Chet Ramey
Utilities, IEEE Portable Operating System Interface (POSIX) Part 2: Shell
и sh(1), ksh(1), csh(1), vi(1)
ФАЙЛЫ
- /bin/bash
-
Выполняемый файл bash
- /etc/profile
-
Общесистемный файл инициализации, выполняется начальными командными интерпретаторами
- ~/.bash_profile
-
Личный файл инициализации, выполняется начальными командными интерпретаторами
- ~/.bashrc
-
Отдельный файл начального запуска для интерактивных командных интерпретаторов
- ~/.bash_logout
-
Отдельный файл очистки для начального командного интерпретатора, выполняемый при
завершении его работы
- ~/.inputrc
- Отдельный файл инициализации библиотеки readline
АВТОРЫ
Брайан Фокс (Brian) Fox, Free Software Foundation
bfox@gnu.ai.MIT.Edu
Чет Реми (Chet Ramey), Case Western Reserve University
chet@ins.CWRU.Edu
ИНФОРМАЦИЯ ОБ ОШИБКАХ
Если вы обнаружили ошибку в bash, сообщите о ней. Но сначала убедитесь, что это действительно ошибка, и что она проявляется в последней имеющейся у вас версии bash.
После того, как определено, что ошибка действительно существует, используйте команду bashbug для посылки сообщения об ошибке. Если вы знаете, как ошибку исправить, пришлите и исправление! Предложения и "философские" сообщения об ошибках можете отправлять по электронной почте по адресу bug-bash@gnu.org или в дискуссионную группу Usenet gnu.bash.bug.
ВСЕ сообщения об ошибках должны включать:
- номер версии bash
- информацию об аппаратной платформе и операционной системе
- компилятор, использовавшийся для компиляции
- описание ошибочного поведения
- короткий сценарий или "рецепт", позволяющий воспроизвести проблему
Команда bashbug вставляет первые три компонента в предлагаемый шаблон сообщения об ошибке автоматически.
Комментарии и сообщения об ошибках на этой странице справочного руководства отправляйте по адресу chet@ins.CWRU.Edu.
Комментарии и сообщения об ошибках в переводе этой страницы справочного руководства на русский язык отправляйте по адресу valera@openxs.kiev.ua.
ОШИБКИ
Слишком большой и слишком медленный.
Есть ряд небольших отличий между bash и традационными версиями sh, в основном, связанные с поддержкой спецификации POSIX.
Псевдонимы иногда могут сбивать с толку.
Встроенные команды и функции интерпретатора нельзя остановить/перезапустить.
Составные команды и последовательности команд вида 'a ; b ; c' обрабатываются некорректно при попытке приостановки процесса. Когда процесс останавливается, командный интерпретатор немедленно выполняет следующую команду в последовательности. Для выполнения последовательности команд в порожденном командном интерпретаторе, что позволяет останавливать их, как единое целое, достаточно взять ее в скобки.
Команды в операторе подстановки результатов выполнения команды $(...) не разбираются, пока не будет выполнена попытка подстановки. Это откладывает выдачу сообщения об ошибке на определенное время при вводе команды.
Нельзя (пока) экспортировать массивы.
ПРИМЕЧАНИЯ
Исходный код bash доступен в пакете SUNWbashS.
В следующем выпуске
Мне нужно немного отдохнуть после завершения столь большого труда. Выпуск будет посвящен анонсу планов развития рассылки и выйдет в конце недели.
С наилучшими пожеланиями,
В.К.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||