[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: [shell-script] como mudar o valor de um parametro?
From: |
Emerson Domingues Souto - H2M |
Subject: |
RES: [shell-script] como mudar o valor de um parametro? |
Date: |
Mon, 6 Aug 2012 16:35:59 -0300 |
Ah tah ....
Eu nem sabia que dava pra alterar o valor $1 .... Mas blz, se qualquer forma vc
está alterando o $1 localmente na função renomeiaArquivoComEspaco(), que não
necessariamente é o mesmo $1 da função chamadora. Pois se fosse o mesmo vc nem
precisaria chamar a função renomeiaArquivoComEspaco enviando $1 ... concorda ?
mesma coisa seria se vc criasse uma variável de nome xucrutz nas 2 funções,
apesar de mesmo nome, cada variável vai ter o seu valor local em cada uma das
funções separadamente.
No caso a variável $1 precisaria ser global e isso eu acho que não é possível.
Mas e se vc criar nas suas funções uma variável global chamada $parametro1 ? aí
sim vc poderia fazer do jeito q vc quer, o q vc acha ?
Emerson Domingues Souto
Tecnologia da Informação
Marítima Seguros S/A
De: address@hidden [mailto:address@hidden] Em nome de Isac Luz
Enviada em: segunda-feira, 6 de agosto de 2012 16:26
Para: address@hidden
Assunto: Re: [shell-script] como mudar o valor de um parametro?
Opa,
Issae que eu preciso, mudar o valor de $1 globalmente.
Dentro da função, na linha:
set - "${dir}/${arq// /}"
essa linha seta o novo valor para $1, mas ele soh funca dentro da
função e preciso que funcione fora tb
Em 06/08/12, Emerson Domingues Souto -
H2M<address@hidden <mailto:emersons.h2m%40maritima.com.br> > escreveu:
> Deixa eu ver se entendi:
>
>
>
> Vc quer que o conteúdo de ${1} do 1º echo seja diferente do 2º echo ? é isso
> mesmo ? mas em que linha da sua shell que a variável ${1} foi modificada ?
> Aliás, agora segue uma pergunta que acho que só o Júlio saberá responder:
>
>
>
> A gente consegue dentro do shell alterar o valor de $1, $2, etc ?
>
>
>
>
>
> Emerson Domingues Souto
>
> Tecnologia da Informação
>
> Marítima Seguros S/A
>
>
>
>
>
> De: address@hidden <mailto:shell-script%40yahoogrupos.com.br>
> [mailto:address@hidden <mailto:shell-script%40yahoogrupos.com.br> ]
> Em nome de Isac Luz
> Enviada em: segunda-feira, 6 de agosto de 2012 15:36
> Para: address@hidden <mailto:shell-script%40yahoogrupos.com.br>
> Assunto: Re: [shell-script] como mudar o valor de um parametro?
>
>
>
>
>
> Vou exemplificar para ver se consigo me fazer entender:
>
> 1. Tenho um sh masomenos assim:
> #!/bin/sh
> #
> # nexx_funcoes.sh - Concentra as funções mais usadas pelos scripts internos
> em Produção
> #
> # Autor: Isac R. Luz <address@hidden <mailto:isacluz%40gmail.com>
> <mailto:isacluz%40gmail.com> >
> <address@hidden <mailto:isacluz%40gmail.com> <mailto:isacluz%40gmail.com> >
> # Origem: 02/08/2012
> #
> #----------------------------------------------------------
>
> ...
> renomeiaArquivoComEspaco() {
> verificaParametros "$@"
> verificaSeArquivo "$@"
> dir=$(dirname "${1}")
> arq=$(basename "${1}")
> mv -v "${dir}/${arq}" "${dir}/${arq// /}" 2> /dev/null
> if [ ${?} -ne 0 ]; then
> echo "Ocorreu algum problema ao mover o arquivo de entrada:
> ${dir}/${arq} para ${dir}/${arq// /} !"
> exit 1
> else
> set - "${dir}/${arq// /}"
> echo "Parametro 0 = ${0}"
> echo "Parametro 1 = ${1}"
> fi
> }
> ...
>
> exit
>
> E existem no servidor outros sh que irão utilizar essa função do tipo:
>
> #!/bin/sh
> #
> # exec_conversao_layout.sh - Efetua a verificação do layout de entrada e
> converte para novo layout
> #
> # Autor: Isac R. Luz <address@hidden <mailto:isacluz%40gmail.com>
> <mailto:isacluz%40gmail.com> >
> <address@hidden <mailto:isacluz%40gmail.com> <mailto:isacluz%40gmail.com> >
> # Origem: 21/11/2011
> #
> #----------------------------------------------------------
> source /home/user/config/ nexx_funcoes.sh
>
> ...
> # 1o echo
> echo "Arquivo de entrada = ${1}!"
> renomeiaArquivoComEspaco ${1}
> # 2o echo
> echo "Arquivo de saida = ${1}!"
>
> ${TRADUTOR} ${BC} ${1} ${ArqSaida} verbose=true
> if [ $? -eq 0 ]; then
> comandos
> else
> erroTradutor $@
> exit 1
> fi
>
> exit 0
>
> Neste contexto, após a execução do renomeia, o parâmetro ${1} do primeiro
> echo será igual ao parâmetro ${1} do segundo echo, ou seja, ainda com
> espaço, quando na verdade ele já foi renomeado.
>
> Esse é o dilema que pretendo resolver.
>
[As partes desta mensagem que não continham texto foram removidas]
- como mudar o valor de um parametro?, Isac Luz, 2012/08/06
- Re: [shell-script] como mudar o valor de um parametro?, Alysson Gonçalves de Azevedo, 2012/08/06
- Re: [shell-script] como mudar o valor de um parametro?, Julio C. Neves, 2012/08/06
- Re: [shell-script] como mudar o valor de um parametro?, Isac Luz, 2012/08/06
- RES: [shell-script] como mudar o valor de um parametro?, Emerson Domingues Souto - H2M, 2012/08/06
- Re: [shell-script] como mudar o valor de um parametro?, Isac Luz, 2012/08/06
- RES: [shell-script] como mudar o valor de um parametro?, Emerson Domingues Souto - H2M, 2012/08/06
- Re: [shell-script] como mudar o valor de um parametro?, Isac Luz, 2012/08/06
- RES: [shell-script] como mudar o valor de um parametro?,
Emerson Domingues Souto - H2M <=
- Re: [shell-script] como mudar o valor de um parametro?, Alysson Gonçalves de Azevedo, 2012/08/06
- RES: [shell-script] como mudar o valor de um parametro?, Emerson Domingues Souto - H2M, 2012/08/06
- Re: [shell-script] como mudar o valor de um parametro?, address@hidden, 2012/08/07
- Re: [shell-script] como mudar o valor de um parametro?, Fernando Mercês, 2012/08/07
- Re: [shell-script] como mudar o valor de um parametro?, Julio C. Neves, 2012/08/07
- Re: [shell-script] como mudar o valor de um parametro?, Fernando Mercês, 2012/08/07
- Re: [shell-script] como mudar o valor de um parametro?, address@hidden, 2012/08/07