Autor Tópico: Variaveis ambiente  (Lida 1973 vezes)

Offline alpha11

  • Usuário Ubuntu
  • *
  • Mensagens: 10
    • Ver perfil
Variaveis ambiente
« Online: 03 de Maio de 2012, 15:05 »
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?   

Offline fpissarra

  • Usuário Ubuntu
  • *
  • Mensagens: 246
    • Ver perfil
    • Lost in the e-Jungle
Re: Variaveis ambiente
« Resposta #1 Online: 03 de Maio de 2012, 17:10 »
O "export" exporta a variável para shells filhas. P.Ex: Se vocẽ criar um script runme.sh:

Código: [Selecionar]
#!/bin/bash
echo $MYVAR

E fizer:

Código: [Selecionar]
$ 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):

Código: [Selecionar]
$ 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.
« Última modificação: 03 de Maio de 2012, 17:15 por fpissarra »