Механизмы цитирования в Linux
В Linux Shell многие специальные символы имеют свое особое значение. Иногда они используются для выполнения действия, в то время как в других случаях они просто используются как символы, поэтому механизм цитирования выполняет эту задачу, заставляя нас использовать их так, как мы хотим.
Метасимволы: это специальные символы, которые сначала интерпретируются оболочкой, прежде чем передать их команде. Они также известны как подстановочные знаки оболочки.
- $ Variable Замена или расширение значения переменной.
- > используется для перенаправления вывода.
- >> используется для перенаправления вывода для добавления.
- < Перенаправление ввода.
- << используется для перенаправления ввода и также известен как здесь документ.
- * Соответствие любому количеству символов, подстановочный знак для нуля или более символов
- ? Соответствует одному символу, подстановочный знак подстановки для 1 символа
- [] Диапазон совпадений символов, подстановочный знак для любого символа в скобках
- `cmd` Замените cmd командой, которую нужно выполнить, и она будет выполнена. Подстановочный знак для выполнения команды
- $ (cmd) Замените cmd командой, которую нужно выполнить, и выполнит ее, Подстановочный знак для выполнения команды
- | Канал - это перенаправление для отправки вывода одной команды / программы / процесса другой команде / программе / процессу для дальнейшей обработки.
- ; Разделитель команд используется для выполнения 2 или более команд с помощью одного оператора.
- || ИЛИ условное выполнение команд.
- && И условное выполнение команд.
- () Группирует команду в один выходной поток.
- & выполняет команду в фоновом режиме и отображает назначенный Pid.
- # что-то прокомментировать.
- $ Чтобы раскрыть значение переменной.
- используется, чтобы избежать интерпретации символа или предотвратить это.
Escape-символ или обратная косая черта
Обратная косая черта ('') - это escape-символ bash. Любой символ, следующий сразу за обратной косой чертой, теряет свое особое значение, а любая буква, следующая за обратной косой чертой, получает свое особое значение. Введите в терминал следующие команды.
эхо "Цитата" эхо "Цитата "
Как видно из примера, double не может быть напечатан без обратной косой черты и с обратной косой чертой, поскольку они потеряли свое особое значение, поэтому они были напечатаны.
Экранированные символы с обратной косой чертой
a alert (bell)
backspace
e an escape character
f form feed
new line
carriage return
horizontal tab
v vertical tab
\ backslash
’ single quote
nn the eight-bit character whose value is the octal value nnn (one to three digits)
xHH the eight-bit character whose value is the hexadecimal value HH (one or two hex digits)
cx a control-x character
Одиночные цитаты
Одиночные кавычки (”) используются для сохранения буквального значения каждого символа в кавычках. Одиночные кавычки не могут находиться между одинарными кавычками, даже если им предшествует обратная косая черта. Все специальные символы в одинарных кавычках теряют свое особое значение.
Некоторые строки содержат много специальных символов, поэтому перед каждым специальным символом трудно использовать обратную косую черту. Следовательно, если мы заключим ту же строку в одинарные кавычки, большинство специальных символов потеряют свое особое значение. Введите в терминал следующие команды.
echo <Добро пожаловать > <в > <geeksforgeeks > echo '<Добро пожаловать> <к> <geeksforgeeks>'
Из примера видно, что нам пришлось использовать много обратной косой черты в первом операторе, что сделало его сложным. В то время как с одинарными кавычками вывод был таким же, без использования обратной косой черты
Двойные кавычки
Двойные кавычки («») сохраняют буквальное значение всех символов в кавычках, за исключением символов «$», «», «», а когда включено раскрытие истории, - «!». Обратная косая черта сохраняет свое особое значение только в том случае, если за ней следует один из следующих символов: '$', '' ',' ”',' 'или новая строка. Введите в терминал следующие команды.
name = geeksforgeeks эхо '$ имя' эхо "$ name"
Вы можете видеть, что в случае одинарных кавычек значение переменной не было напечатано, а в случае двойных кавычек было напечатано значение переменной.
Обратные цитаты
Обратные кавычки («) используются для выполнения команды. Все, что заключено между ними, будет рассматриваться как команда и будет выполнено. Откройте терминал и выполните следующие команды.
hostname = `hostname` echo $ hostname
Из примера видно, что команда hostname выполняется, а имя сохраняется в переменной.