Экранирование. Bash.

В качестве разделителей между словами в оболочке обычно используются пробелы. Например, чтобы вызвать команду с тремя аргументами, между ними ставится пробел

Но, иногда, необходимо, чтобы оболочка различала пробелы как символы, а не разделители. Например, если у нас имеется файл с именем ‘Interesting file.doc’. Если вы обратитесь к такому файлу в командной строке, то ваша команда, скорее всего, завершится с ошибкой.

Это происходит по тому, что оболочка интерпретирует пробелы, как разделители.

Чтобы заставить оболочку рассматривать пробелы, как часть имени файла, существует три варианта — одинарные кавычки, двойные кавычки и обратная косая черта:

Одинарные кавычки.

Одинарные кавычки сообщают командной оболочке, что каждый символ между ними следует обрабатывать буквально. Даже, если этот символ зарезервирован в системе как особенный, как например знак доллара ‘$

Двойные кавычки.

Двойные кавычки указывают системе, что каждый символ должен восприниматься буквально. Но в отличии от одинарных такие символы, как ‘$‘ и некоторые другие символы — не игнорируются.

Обратная косая черта.

Обратная косая черта «\«, также называемая экранирующим символом, указывает оболочке воспринимать буквально символ, находящийся после нее.

Обратная косая черта действует как экранирующий символ в двойных кавычках:

Но не в одинарных

Можно использовать обратную косую черту, чтобы экранировать символ двойных кавычек внутри двойных кавычек:

Обратная косая черта в конце строки отключает функцию невидимого символа новой строки, позволяя командам оболочки занимать несколько строк:

При таком использовании обратную косую черту, еще называют символом продолжения строки.

Обратная косая черта, установленная перед псевдонимом экранирует его, заставляя оболочку искать команду с тем же именем. Затенение при этом игнорируется.

Благодаря обратной косой черте, запуститься не установленный псевдоним ‘less -c‘, а стандартная для оболочки команда ‘less‘.

Was this helpful?

0 / 0

Добавить комментарий 0