Variaveis ambiente

Iniciado por alpha11, 03 de Maio de 2012, 15:05

tópico anterior - próximo tópico

alpha11

Olá

Tenho umas dúvidas como funcionam.

numa shell crio

var_1 = "Eu"

faço echo $var_1 e aparece Eu

Se abro outra shell já não aparece nada, eu sei que é normal, por isso na primeira shell ponho export var_1

Só que mesmo assim não aparece nada na outra shell

Já agora, se quiser pedir a um usuário que introduza um texto para ser guardado numa variável tenho de usar um script, certo?   

fpissarra

#1
O "export" exporta a variável para shells filhas. P.Ex: Se vocẽ criar um script runme.sh:

#!/bin/bash
echo $MYVAR


E fizer:

$ MYVAR = "eu"
$ ./runme.sh


Uma linha vazia sera "impressa" no terminal. Então temos que exportar MYVAR para que ele seja vizível pelo shell filho (bash, neste caso):

$ MYVAR="eu"
$ export MYVAR
$ ./runme.sh
eu


Como o seu secundo shell não é filho do shell do terminal (provavelmente de outro processo gnome-terminal), então ele não verá a variável exportada.

Quando você exporta uma variável em ~/.bashrc, por exemplo, você garante que todo o processo bash de primeira ordem execute este script e "importe" as variáveis.