[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] como mudar o valor de um parametro?
From: |
Isac Luz |
Subject: |
Re: [shell-script] como mudar o valor de um parametro? |
Date: |
Mon, 6 Aug 2012 13:35:47 -0500 |
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> <address@hidden>
# 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> <address@hidden>
# 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.
Em 6 de agosto de 2012 12:12, Emerson Domingues Souto - H2M <
address@hidden> escreveu:
> **
>
>
> Então, será que o problema não é pq a variável $1 entende como parâmetro
> de entrada o inicio da string até o espaço em branco ? ou seja, vc pensa
> que está passando 1 parâmetro quando na verdade a função entende que são 2
> parâmetros de entrada ?
>
> Se for isso a solução é usar $* no lugar de $1
>
> Exemplo:
>
> renomeiaArquivoComEspaco() {
> dir=$(dirname "$*")
> entrada=$(basename "$*")
>
> saida=$(echo "${entrada}" |sed 's/ //g')
> mv -v "$*" "${dir}/${saida}"
>
> set - "${dir}/${saida}"
> echo "Parametro Entrada = $*"
> }
>
> 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 11:56
> Para: address@hidden
> Assunto: Re: [shell-script] como mudar o valor de um parametro?
>
>
> então, estou criando um arquivo com funções que serão executados por
> outros scripts, e neste caso essa função será bastante utilizada por
> outros usuarios, o problema é que consigo mudar o valor do parametro 1
> dentro da função, mas fora não consigo atribuir o novo valor
>
[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 <=
- 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?, 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