Различия между двойными кавычками & ldquo; & rdquo ;, одинарные кавычки '' и backticks '' в командной строке?

Нажмите Alt+F2, введите gksudo nautilus; введите ваш пароль. Теперь перейдите к /lib/vlc и попробуйте вставить его.

1
задан 18 April 2014 в 20:24

5 ответов

Это объясняется очень хорошо в соответствующем разделе руководства 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

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

11
ответ дан 25 May 2018 в 23:39

Одиночные кавычки ('') используются для сохранения литерального значения каждого символа, заключенного в кавычки

. Используя двойные кавычки, буквальное значение всех заключенных символов сохраняется, за исключением знака доллара, backsicks (обратные одинарные кавычки, ``) и обратная косая черта.

Когда вложенные внутри back-ticks, оболочка интерпретирует что-то, что означает «вывод команды внутри обратных следов». Это называется подстановкой команды, так как вывод команды внутри обратных тиков заменяется самой командой

ссылок:

http://www.linuxtopia.org /online_books/bash_guide_for_beginners/sect_03_03.html

http://www.linuxtopia.org/online_books/bash_guide_for_beginners/sect_03_03.html

4
ответ дан 25 May 2018 в 23:39

Просто говорю вообще, но:

"" - Используется для обработки некоторой информации внутри них перед выходом. Как в PHP, когда вы "" переменная Например: echo "Привет, мое имя - $ name" (Будет выводиться: Здравствуйте, мое имя NESS)

'' - Используется для отображения вывода как есть. Например, в PHP, используя вышеприведенный пример, он будет выводить эхо как есть (будет выводиться: Hello мое имя - $ name)

Таким образом, разница между Double и Single заключается в том, что Double Quotes обрабатывает переменную и показывает значение в то время как отдельные qoutes показывают имя переменной без обработки.

`` - Используется для цитирования команд, которые позже назначаются другой переменной.

2
ответ дан 25 May 2018 в 23:39
echo '$HOME' is "$HOME"

Одиночные кавычки предотвращают расширение переменной, в то время как двойные кавычки позволяют это.

1
ответ дан 25 May 2018 в 23:39

Одиночные кавычки включают значение, которое должно быть принято буквально: все типы расширений подавляются. Обычно используется, если значение включает или может включать в себя пробел (пробел, табуляцию, новую строку) или специальные символы ($, \, `), которые пользователь не хочет развернуть или обработать оболочка.

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

Обратные кавычки заключают в себе команду, результаты которой требуются как значение. Новые оболочки позволяют использовать $(...) вместо `...`. Я предпочитаю новый метод.

Следующий код может помочь понять, что происходит.

CMD='ls .' echo sq: $CMD set $CMD echo raw 1: $1 echo raw: $* set "$CMD" echo dq: $1 echo bq: `$CMD` echo new: $($CMD)
0
ответ дан 25 May 2018 в 23:39

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

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