Мне просто интересно, почему мы должны использовать эту команду
export Path=$Path:dir
почему команда не выглядит
export $Path=$Path:dir/dir'
Мне просто интересно, почему мы должны использовать эту команду
export Path=$Path:dir
почему команда не выглядит
export $Path=$Path:dir/dir'
Если вы делаете это:
VAR=value
bash устанавливает VAR в "значение", создавая переменную, если она не существует.
Если вы напишите:
$VAR=value
затем bash выполняет это, заменяя $ VAR его текущим значением. Скажем, $ VAR имеет значение x, это приведет к:
x=var
как команда, которая будет выполнена. Вот почему он говорит "команда не найдена"
Тем не менее, bash может быть интерпретирован через eval
:
VAR2=x
VAR=VAR2
echo $VAR2
x
eval $VAR=y
echo $VAR2
y
Знак доллара $
используется для доступа к переменной, а не для ее установки. Простой способ убедиться в этом - попытаться напечатать переменную:
test="Hello"
echo test
# prints 'test'
echo $test
# prints 'Hello'
$test="Bye"
# Not allowed