Найти в Дзене
Списки команд
Список - это последовательность одного или нескольких конвейров, разделенных одним из операторов ';', '&', '&&' или '||', и по выбору завершаемых одним из ';', '&' или новой строкой. Из этих операторов списка '&&' и '||' имеют равный приоритет, за ними следуют ';' и '&', которые имеют равный приоритет. Для разделения команд в списке может использоваться последовательность из одной или нескольких новых строк, что эквивалентно точке с запятой. Если команда завершается управляющим оператором '&', shell выполняет команду асинхронно во вложенной оболочке. Это называется выполнением команды в фоновом режиме, и такие команды называются асинхронными...
4 года назад
Конвейеры
Конвейер (Pipeline) - это последовательность одной или нескольких команд, разделенных одним из управляющих операторов '|' или '|&'. Формат конвейера следующий: [time [-p]] [!] command1 [ | or |& command2 ] … Выход каждой команды в конвейере подключается через пайп (pipe) к входу следующей команды. То есть, каждая команда читает вывод предыдущей команды. Это соединение выполняется до любых перенаправлений, указанных командой. Если используется '|&', стандартная ошибка command1, помимо стандартного вывода, подключается к стандартному вводу command2 через пайп, это сокращение для 2>&1 |. Это неявное...
4 года назад
Простые команды
Простая команда - это та команда, которая встречается чаще всего. Это просто последовательность слов, разделенных пробелами, завершаемая одним из управляющих операторов оболочки (см. Определения). Первое слово обычно определяет команду, которая должна быть выполнена, а остальные слова являются аргументами этой команды. Статус возврата простой команды - это статус выхода, определяемый функцией POSIX 1003...
4 года назад
Зарезервированные слова
Зарезервированные слова - это слова, которые имеют особое значение для оболочки. Они используются для начала и окончания составных команд оболочки. Следующие слова считаются зарезервированными, если они не заключены в кавычки и являются первым словом команды (исключения см. ниже): if then elif else fi time for in until while do done case esac coproc select function { } [[ ]] ! in распознается как зарезервированное слово, если оно является третьим словом команды case или select...
4 года назад
Команды Shell
Простая команда оболочки, такая как echo a b c, состоит из самой команды, за которой следуют аргументы, разделенные пробелами. Более сложные команды shell состоят из простых команд, расположенных вместе различными способами: в конвейере, в котором выход одной команды становится входом второй, в цикле или условной конструкции, или в какой-либо другой группе. - Зарезервированные слова (Reserved Words) Слова, которые имеют особое значение для оболочки. - Простые команды (Simple Commands) Самый распространенный тип команд. - Конвейеры (Pipelines) Соединение ввода и вывода нескольких команд...
4 года назад
Комментарии
В неинтерактивной оболочке или в интерактивной оболочке, в которой включена опция interactive_comments встроенной программы shopt, слово, начинающееся с # заставляет игнорировать это слово и все остальные символы в этой строке. Интерактивная оболочка без включенной опции interactive_comments не позволяет комментировать. Опция interactive_comments включена по умолчанию в интерактивных оболочках...
4 года назад
Специфика перевода
Строка в двойных кавычках, которой предшествует знак доллара ('$'), переводит строку в соответствии с текущей локалью. Инфраструктура gettext выполняет поиск и перевод каталога сообщений, используя переменные оболочки LC_MESSAGES и TEXTDOMAIN, как описано ниже. Дополнительные сведения см. в документации gettext. Если текущая локаль - C или POSIX, или если нет доступных переводов, знак доллара игнорируется. Если строка переведена и заменена, то замена заключается в двойные кавычки. Некоторые системы используют каталог сообщений, выбранный переменной оболочки LC_MESSAGES. Другие...
4 года назад
Цитирование ANSI-C
Слова вида $'string' обрабатываются специально. Слово расширяется до строки, при этом символы, экранированные обратной косой чертой, заменяются в соответствии со стандартом ANSI C. Escape-последовательности обратной косой черты, если таковые имеются, декодируются следующим образом: \a alert (bell) \b пробел (backspace) \e\E an escape character (not ANSI C) \f form feed \n новая строка (newline) \r возврат каретки (carriage return) \t горизонтальная табуляция (horizontal tab) \v вертикальная табуляция (vertical tab) \\ обратный слеш (backslash) \' одинарная кавычка (single quote) \" двойная кавычка...
4 года назад
Двойные кавычки
Заключая символы в двойные кавычки ( '"' ), сохраняется буквальное значение всех символов в кавычках, за исключением ‘$’, ‘`’, ‘\’, и когда расширение истории включено, '!’. Когда оболочка находится в режиме POSIX, '!' не имеет особого значения в двойных кавычках, даже если включено расширение истории. Символы '$' и '`' сохраняют свое особое значение в двойных кавычках. Обратная косая черта сохраняет свое особое значение только тогда, когда за ней следует один из следующих символов: ‘$’, ‘`’, ‘"’, ‘\’, или новая строка. Внутри двойных кавычек удаляются обратные косые черты, за которыми следует один из этих символов...
4 года назад
Одинарные кавычки
Заключая символы в одинарные кавычки ( ‘ ’ ), сохраняется буквальное значение каждого символа в кавычках. Одинарная кавычка может не встречаться между одинарными кавычками, даже если ей предшествует обратная косая черта.
4 года назад
Символ Escape
Не заключенная в кавычки обратная косая черта " \ " является escape-символом Bash. Он сохраняет буквальное значение следующего символа, за исключением новой строки. Если появляется пара \newline, а сама обратная косая черта не заключена в кавычки, \newline рассматривается как продолжение строки (то есть она удаляется из входного потока и фактически игнорируется)...
4 года назад
Цитирование
• Escape-символ (Escape Character) Как удалить особое значение из одного символа. • Одинарные кавычки (Single Quotes) Как запретить любую интерпретацию последовательности символов. • Двойные кавычки (Double Quotes) Как подавить большую часть интерпретации последовательности символов. • Цитирование ANSI-C (ANSI-C Quoting) Как развернуть последовательности ANSI-C в строках в кавычках. • Перевод (Locale Translation) Как переводить строки на разные языки. Кавычки используются для удаления особого значения определенных символов или слов из оболочки. Кавычки можно использовать для отключения специального...
4 года назад