Мне просто интересно, зачем нам нужно использовать эту команду.
export Path=$Path:dir
почему команда не выглядит как
export $Path=$Path:dir/dir'
решение1
Знак доллара $
используется длядоступпеременная, а не ее установка. Простой способ увидеть это — попробовать распечатать переменную:
test="Hello"
echo test
# prints 'test'
echo $test
# prints 'Hello'
$test="Bye"
# Not allowed
решение2
Если вы сделаете это:
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