Не удается найти корневое устройство после последнего обновления ядра

Это объясняется очень хорошо в соответствующем разделе руководства bash. Вкратце, что-либо внутри одинарных кавычек интерпретируется буквально. Итак, например:

$ echo '$SHELL'
$SHELL
$ echo '{1..3}'
{1..3}

Сравните это с некотируемыми версиями:

$ echo $SHELL
/bin/bash
$ echo {1..3}
1 2 3

Двойные кавычки допускают расширение переменной (также расширение истории и некоторые другие вещи). В основном, вы используете их, когда имеете дело с чем-то, что вы хотите видеть расширенным. Например:

$ echo "$SHELL"
/bin/bash
$ echo "!!"
echo "echo "$SHELL""
echo /bin/bash

Другими словами, одинарные кавычки полностью защищают строку от оболочки, а двойные кавычки защищают некоторые вещи (например, пробелы), но позволяют правильно или интерпретировать переменные и специальные символы.

1
задан 13 April 2017 в 15:24

0 ответов

Другие вопросы по тегам:

Похожие вопросы: