Каково различие между $var эха и эхом “$var”

На терминале (удар), когда я ввожу

var=someValue

echo $var    --> 1
echo "$var"  --> 2

Сформируйтесь 1, и 2 я получаю те же результаты, поэтому каково различие между ними?

Когда мы должны использовать двойные кавычки, и когда мы не должны использовать их?

1
задан 24 August 2018 в 02:42

2 ответа

Нет никакого различия между echo $var и echo "$var".

Однако для других команд такой как ls (файлы списка) могла быть большая разница.

Попытка это в Вашем терминале:

$ touch "File A"

$ var="File A"

$ ls $var
ls: cannot access 'File': No such file or directory
ls: cannot access 'A': No such file or directory

$ ls "$var"
File A

двойные кавычки " говорит Linux рассматривать все промежуточное как единственный объект. Без двойных кавычек все внутри рассматривают как отдельные объекты, очерченные пробелами.

Так в первом примере $var две разных вещи "Файл" и "A".

Во втором примере "$var" одна вещь "File A".

Эти echo команда автоматически обрабатывает отдельное слово или несколько слов до конца строки как одна вещь. Много других команд ожидают одну или несколько вещей.

5
ответ дан 3 December 2019 в 06:37

Различие прибывает при хранении много строки строки в переменной и попытке повторить его.

Попытка это:

$var="this is a
line of
code"

$ echo $var
this is a line of code

$ echo "$var"
this is a
line of
code
0
ответ дан 3 December 2019 в 06:37

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

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