[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Variaveis e Funcoes
From: |
Julio C. Neves |
Subject: |
Re: [shell-script] Variaveis e Funcoes |
Date: |
Thu, 4 Aug 2011 19:15:06 -0300 |
Fala Rodrigo,
só para não te deixar sem resposta.
A resposta à sua pergunta é sim. Dentro de uma função (e somente nesse
ambiente), vc pode declarar variáveis locais. Assim, se vc se vc alterar o
IFS, ele estará alterado somente dentro daquela função.
Existe porém um outro recurso que talvez te seja útil. Vc pode alterar o
valor de uma variável do sistema somente durante a execução de um cmd. Veja:
$ date
Qui Ago 4 19:01:34 BRT 2011
Como vc pode ver, a data está em português, agora vou alterar a variável
LANG passando-a para inglês (En) e executando o date simultaneamente:
$ LANG=En date
Thu Aug 4 19:01:50 BRT 2011
$ echo $LANG
pt_BR.utf8
Como vc viu, a saída da instrução foi em inglês mas o LANG original não se
alterou.
Agora veja um exemplo com o IFS:
$ x=1:2:3:4
$ IFS=: read a b c d <<< "$x"
$ echo $a
1
$ echo $b
2
$ echo $c
3
$ echo $d
4
Cordialmente,
Julio Neves
*Quer programar bem em Shell?
*
*Use este endereço de e-mail, o Skype ou ☎ (21)8112-9988 ☎*
*
*
**
*
*
My profiles: [image: Twitter] <http://twitter.com/juliobash>
Contact me: [image: Skype] julioneves1
Em 4 de agosto de 2011 15:06, Rodrigo R. Martins
<address@hidden>escreveu:
> **
>
>
> Pessoal,
>
> Tenho algumas dúvidas que quem sabe seja bem simples pra maioria.
>
> Frequentemente preciso desenvolver alguns scripts, mas alguns deles são de
> missão crítica, ou seja, erros são quase intoleráveis.
>
> Minha preocupação é em relação a variáveis (locais e globais), de modo que
> eu consiga enjaular apenas dentro das respectivas funções.
>
> Exemplo:
>
> #!/bin/sh
> [...]
> IFS="
> "
>
> function_blablabla() {
> local IFS=";"
>
> [...]
> for users in ${USERS}; do
>
> [...]
>
> done
> [...]
> }
>
> Pergunto:
>
> É válido dizer que o IFS global será preservado e que a função usará o IFS
> local, mesmo após invocá-la?
>
> Desde já agradeço.
>
> Abraços,
>
> Rodrigo
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
[As partes desta mensagem que não continham texto foram removidas]
- Variaveis e Funcoes, Rodrigo R. Martins, 2011/08/04
- Re: [shell-script] Variaveis e Funcoes,
Julio C. Neves <=