Механизмы цитирования в Linux

Опубликовано: 16 Февраля, 2022

В 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 выполняется, а имя сохраняется в переменной.