Voglio utilizzare uno script di shell che posso chiamare per impostare alcune variabili di ambiente. Tuttavia, dopo l'esecuzione dello script, non vedo la variabile d'ambiente usando "printenv" in bash.L'impostazione della variabile di ambiente nello script di shell non lo rende visibile alla shell
Ecco il mio script:
#!/bin/bash
echo "Hello!"
export MYVAR=boubou
echo "After setting MYVAR!"
Quando faccio "./test.sh", vedo:
Hello!
After setting MYVAR!
Quando faccio "MYVAR printenv", non vedo nulla.
Puoi dirmi cosa sto facendo male?
funziona, ma perché "test.sh bash" non impostare la variabile d'ambiente? Se bash esegue ogni comando nello script come se fosse stato digitato nel prompt, la variabile di ambiente sarebbe stata impostata nel processo corrente? – GDICommander
@GDICommander: No. Quando si esegue 'bash test.sh', viene creato un nuovo processo' bash' che esegue lo script ** ed esce **. – NPE
Ok, grazie per l'informazione. Ora capisco un po 'meglio le variabili d'ambiente. – GDICommander