shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] export para shells sub sequentes?


From: opa
Subject: Re: [shell-script] export para shells sub sequentes?
Date: Mon, 26 Apr 2004 18:31:41 -0300 hrN

Oi Pablo:

Penso o mesmo que a tradição reportada pelo Cláudio e por você diz.

Eu acho que você deveria esclher outro nome de variável e outro valor.

Você pode ter colocado isso há algum tempo na inicialização, em algum 
lugar em /etc/rc.d/??? e ter esquecido.

Eu uso Slack e Bash. Eu não tenho var "pablo" com certeza. :)

Como agora estou no X, abri um novo xterm:
~$ echo $pablo

~$ pablo=/
~$ echo $pablo
/
~$ 

Mantendo este, abri um novo xterm:
~$ echo $pablo

~$ 

Felizmente não preciso rever meus conceitos sobre isto. 
Uma tarefa a menos! :)

Estou certo que no ambiente caracter aconteceria o mesmo!  ?:|

No seu exemplo:

"ls" é um binário. Ele não usa a área do shell. Ele executa em sua 
própria região de memória com o "parâmetro" que você escreveu na 
linha de comando, que ele leu ao carregar do ponto onde foi chamado e 
depois entregou o resultado a quem o chamou. É por isso que quando 
ele é chamado de algum programa que não está vinculado a um terminal 
você não fica sabendo de nada, como no cron, por exemplo.

Experimente escrever outro script, digamos s2 com:
ls $pablo1

Procure usar outro nome de variável para garantir que ela não
exista já no primeiro shell. Torne o script executável. Não 
vale fazer a chamada com ". ./s2" pois daí a execução é no 
mesmo shell.

Daí faça o:
ls $pablo1
e não esteja no diretorio raiz, senão é claro, o resultado será 
o mesmo com "" e com "/".
Faça a seguir:
/s2
Deve ter acontecido a mesma coisa.

Coloque o valor desejado em pablo1. Repita os 2 passos acima. Agora o 
resultado deve ser diferente entre eles.

Hi, falei bastante, e chutei um pouco, espero ter contribuido com a 
comunidade. :) Se houve alguma incorreção gostaria que fosse feito 
o reparo.

Obrigado.


---------------------------------------------------------------------
>From: "Claudio Lisias" <address@hidden>
>Date: Mon, 26 Apr 2004 17:30:07 -0300
>
>Quando se fala "cada shell" ele quer dizer "cada script shell". Isso signif
>ica que, se você cria uma variável em um script e ao término desse vo
>cê quer utilizá-la em outro você precisa exportar essa variável par
>a que o outro script a enxergue. isso acontece porque cada script abre uma
>sessão shell separada.
>
>
>Att.
>Claudio Lisias da Silva
>Suporte de Faturamento 3C
>ANIMUS - Tecnologia da Informação
>55 (21) 2515-8800
>55 (21) 2515-8826
>clisias@animus_ti.com.br
>
>----- Original Message ----- 
>From: Pablo Fernandes 
>Sent: Monday, April 26, 2004 5:07 PM
>
>
>Caros amigos,
>
>Em muitos materiais sobre shell script, encontrei a
>mesma coisa: "Cada shell possui características
>específicas com variáveis de ambiente específicas (por
>ser multi usuário), e que precisamos exportar cada
>variável para que as mesmas sejam usadas pelos shells
>sub sequentes".
>
>O que eu queria saber é: Quando executamos algum
>programa, ele não executa em um novo shell? (sempre
>leio isso tbm). Então isso significaria que quando
>executo um "ls", estou executadno em um novo shell e
>algo como:
>
>pablo="/"
>ls $pablo
>
>não funcionaria, pq nao exportei e preciso exportar a
>variável para ser usada nos outros shells. Aih vejo
>que funciona mesmo sem exportar. Fiz um teste abrindo
>outro xterm, abrindo um novo tty e a mesma variável
>$pablo continua a funcionar. Dando um export foi o
>mesmo efeito. Afinal como é essa história do "precisa
>exportar antes"???
>
>
>Obrigado a todos
>Pablo Fernandes




reply via email to

[Prev in Thread] Current Thread [Next in Thread]