[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
- Re: [shell-script] export para shells sub sequentes?,
opa <=