Знак доллара в переменных

Знак доллара в переменных

Дорогие, может кто-нибудь объяснить причину вывода 5, когда я вывожу $15. Если переменная 15 не определена, то вывода быть не должно, как во втором примере.

-bash-4.2$ echo $15
5
-bash-4.2$ echo ${15}

-bash-4.2$ echo $USER
kony
-bash-4.2$
-bash-4.2$ echo ${USER}
kony

решение1

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

Попробуйте любой из этих вариантов:

echo \$15
echo '$15'

Для вашей команды всегда будет вывод, потому что вы фактически говорите «echo 5». Поскольку для $1него нет значения, он игнорируется. $0 - $9 зарезервированы системой для ссылки на аргументы. echo $90вернет 0. и т. д.

Ссылка

Связанный контент