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

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

Res: [shell-script] Variável


From: luiz henrique campos
Subject: Res: [shell-script] Variável
Date: Fri, 2 Feb 2007 10:18:12 -0800 (PST)

Valeu pela ajuda Tiago

----- Mensagem original ----
De: Tiago Barcellos Peczenyj <address@hidden>
Para: address@hidden
Enviadas: Sexta-feira, 2 de Fevereiro de 2007 11:32:48
Assunto: Re: [shell-script] Variável









  


    
            fique atento



$ cat xxx

 #!/bin/bash

 echo SHLVL = $SHLVL

 echo antes  = $TESTE

 TESTE=lala

 echo depois = $TESTE



$ export TESTE=limao



$ ./xxx

SHLVL = 2

antes = limao

depois = lala



$ echo $TESTE

limao



$ . ./xxx # usando o comando source ou .

SHLVL = 1

antes = limao

depois = lala



Ou seja, vc não consegue alterar a sua variavel no shell pai por que

vc executa o script no shell filho, as variaveis só vão, não voltam.



uma boa explicação esta aqui

http://www.meleuzor d.hpg.ig. com.br/textos/ bashscripting. txt



--> SHLVL



Esta variável armazena quantos shells você executou a partir da

primeira shell.

   Confuso? Vamos a um exemplo.

   Imagine que você está usando o bash e executou o bash de novo, nesta

situação o seu SHLVL vale 2. Veja isto:



/* -=-=-= exemplo =-=-=- */

$ echo $SHLVL

1

$ bash          # estou executando o bash a partir do bash

$ echo $SHLVL

2

$ exit          # saí do segundo bash

exit

$ echo $SHLVL

1

/* -=-=-= exemplo =-=-=- */



Quando você inicializa scripts a partir do comando "source" o script é

executado no shell pai, portanto se tiver um "exit" no script você vai

executar um logoff. É aí que está a utilidade da variável SHLVL. Quando

você está no shell primário o valor de SHLVL é 1. Então você pode, através

de um "if" por exemplo, executar o "exit" só se SHLVL for diferente de 1

(mais informações sobre o source em "6.1 Funções como comandos").



Pratique um pouco diferentes usos e formas de setar variaveis e abrir

sub-shells, é bom pra praticar este conceito (q as vezes atrapalha

quando a gente não se dá conta dos detalhes).



On 2/2/07, luiz henrique campos <luiz_camposbr@ yahoo.com. br> wrote:

>

>

>

>

>

>

> Olá grupo,

>  sou novato no grupo e estou com uma duvida em uma questão que olhei no 
> selfteste:

>

>  se eu dê o comando "export TESTE=snuff" e apos isso criar um script da 
> seguinte forma:

>  #!/bin/bash

>  USER=testeking

>  TESTE=$USER

>

>  porque

>  apos executar esse script a variavel $TESTE continua com o valor "nuff"

>  ?????? Sendo que se eu nao usar o script e da o seguinte comando

>  TESTE=snuff2 (direto, sem exportar), a variavel vai pegar o resultado

>  "snuff2".

>  Por que isso acontece??

>

>  ____________ _________ _________ _________ _________ __

>  Fale com seus amigos  de graça com o novo Yahoo! Messenger

>  http://br.messenger .yahoo.com/

>                    



-- 

Tiago B Peczenyj

Linux User #405772



# cd /pub

# more beer



    
  

    
    




<!--

#ygrp-mlmsg {font-size:13px;font-family:arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;
}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;
}
#ygrp-vitnav{
padding-top:10px;
font-family:Verdana;
font-size:77%;
margin:0;
}
#ygrp-vitnav a{
padding:0 1px;
}
#ygrp-actbar{
clear:both;
margin:25px 0;
white-space:nowrap;
color:#666;
text-align:right;
}
#ygrp-actbar .left{
float:left;
white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;
font-size:77%;
padding:15px 0;
}
#ygrp-ft{
font-family:verdana;
font-size:77%;
border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;
}

#ygrp-vital{
background-color:#e0ecee;
margin-bottom:20px;
padding:2px 0 8px 8px;
}
#ygrp-vital #vithd{
font-size:77%;
font-family:Verdana;
font-weight:bold;
color:#333;
text-transform:uppercase;
}
#ygrp-vital ul{
padding:0;
margin:2px 0;
}
#ygrp-vital ul li{
list-style-type:none;
clear:both;
border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;
color:#ff7900;
float:right;
width:2em;
text-align:right;
padding-right:.5em;
}
#ygrp-vital ul li .cat{
font-weight:bold;
}
#ygrp-vital a {
text-decoration:none;
}

#ygrp-vital a:hover{
text-decoration:underline;
}

#ygrp-sponsor #hd{
color:#999;
font-size:77%;
}
#ygrp-sponsor #ov{
padding:6px 13px;
background-color:#e0ecee;
margin-bottom:20px;
}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;
margin:0;
}
#ygrp-sponsor #ov li{
list-style-type:square;
padding:6px 0;
font-size:77%;
}
#ygrp-sponsor #ov li a{
text-decoration:none;
font-size:130%;
}
#ygrp-sponsor #nc {
background-color:#eee;
margin-bottom:20px;
padding:0 8px;
}
#ygrp-sponsor .ad{
padding:8px 0;
}
#ygrp-sponsor .ad #hd1{
font-family:Arial;
font-weight:bold;
color:#628c2a;
font-size:100%;
line-height:122%;
}
#ygrp-sponsor .ad a{
text-decoration:none;
}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;
}
#ygrp-sponsor .ad p{
margin:0;
}
o {font-size:0;}
.MsoNormal {
margin:0 0 0 0;
}
#ygrp-text tt{
font-size:120%;
}
blockquote{margin:0 0 0 4px;}
.replbq {margin:4;}
-->







__________________________________________________
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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