Me pregunto por qué necesitamos usar este comando.
export Path=$Path:dir
¿Por qué el comando no se ve así?
export $Path=$Path:dir/dir'
Respuesta1
El signo del dólar $
se utiliza paraaccesouna variable, no establecerla. Una forma sencilla de ver esto es intentar imprimir una variable:
test="Hello"
echo test
# prints 'test'
echo $test
# prints 'Hello'
$test="Bye"
# Not allowed
Respuesta2
Si haces esto:
VAR=value
bash establece VAR en "valor", creando la variable, si no existiera.
Si tú escribes:
$VAR=value
luego bash ejecuta esto reemplazando $VAR por su valor actual. Digamos que $VAR tuviera el valor x, esto produciría:
x=var
como el comando a ejecutar. Por eso dice "comando no encontrado"
Sin embargo, se le puede decir a bash que reinterprete esto mediante eval
:
VAR2=x
VAR=VAR2
echo $VAR2
x
eval $VAR=y
echo $VAR2
y