2016-07-02 3 views
-7

Я довольно новичок в Linux, и я стараюсь изучить его самостоятельно. Итак, я сомневаюсь в следующих командах $SHELL, $UID и подобных командах. Когда я набираю echo $SHELL, я получаю вывод как/bin/bash.Уточнение относительно использования переменных оболочки

Что означает это утверждение? Спасибо

+0

Почему вы спрашиваете нас, что означает, что ваш вопрос? – melpomene

+0

@ Крепость - Нет, это не имеет никакого отношения к линии shebang. – Quentin

+0

Вы спрашиваете, что такое переменная? – Quentin

ответ

2

Вещи, начинающиеся со знака доллара ($), - это не команды, а разложения переменных. Например: HOME - это имя переменной, а $ HOME расширяется до того значения, которое в настоящее время находится в переменной HOME. На самом деле, более полная форма $ {HOME} вместо $ HOME более понятна и дает возможность делать манипуляции с представлением. Например, $ {HOME ^^} представляет содержимое переменной HOME, преобразованной в верхний регистр.

echo - это команда и печатает на экране, что вы следите за эхом.

Таким образом, echo $SHELL печатает содержимое переменной SHELL.

Некоторые стандартные переменные, такие как SHELL, UID, HOME и т.д., создаются автоматически для вас, когда вы войти.

+1

Технически говоря, все, что начинается с знака доллара, не является переменной, а расширением переменной. (Как и в математике, f (x) не является функцией, функция f). Переменная - 'SHELL', а' $ SHELL' - расширение 'SHELL'. –

+0

@gniourf_gniourf Правда, но из вопроса и информации. Я совершенно новый для linux_, я думаю, что быть настолько техническим, что это более запутанно, чем полезно. – kkeller

+1

@kkeller, IMO gniourf_gniourf не столько технический, но точный. Если вы RT \ * M, [5.2 Bash Variables] (https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html), вы можете прямо увидеть, что перед '' '' перед перечисленные переменные Bash. Затем прочитайте раздел о 3.5 расширениях оболочек, в которых применим последнее из «параметра и расширения переменных». ИМО Нет лучшего времени быть точным (и техническим), а затем при первом обучении. RT \ * M и изучите его с самого начала! ;) – user3439894

Смежные вопросы