por que 'export $Path=$Path:dir' não funciona?

por que 'export $Path=$Path:dir' não funciona?

Só estou me perguntando por que precisamos usar este comando

export Path=$Path:dir

por que o comando não se parece

export $Path=$Path:dir/dir'

Responder1

O cifrão $é usado paraacessouma variável, não defina-a. Uma maneira fácil de ver isso é tentar imprimir uma variável:

test="Hello"
echo test
# prints 'test'
echo $test
# prints 'Hello'
$test="Bye"
# Not allowed

Responder2

Se você fizer isto:

VAR=value

bash define VAR como "valor", criando a variável, caso ela não exista.

Se você escrever:

$VAR=value

então o bash executa isso substituindo $VAR pelo seu valor atual. Digamos que $VAR tivesse o valor x, isso produziria:

x=var

como o comando a ser executado. É por isso que diz "comando não encontrado"

No entanto, o bash pode ser instruído a reinterpretar isso por meio de eval:

VAR2=x
VAR=VAR2
echo $VAR2
x

eval $VAR=y
echo $VAR2
y

informação relacionada