??? [r...@hank ~]# cat teste1.sh #!/bin/bash ./teste2.sh "$@" [r...@hank ~]# cat teste2.sh #!/bin/bash echo 1 - $1 echo 2 - $2 [r...@hank ~]# ./teste1.sh teste "teste com espaco" 1 - teste 2 - teste com espaco
-- Flávio do Carmo Júnior aka waKKu 2009/2/16 Thomaz de Oliveira dos Reis <[email protected]>: > Não funcionou.... > > 2009/2/16 Flavio Junior <[email protected]>: > >> use o $@ inves do $* .... >> >> -- >> >> Flávio do Carmo Júnior aka waKKu >> >> 2009/2/16 Thomaz de Oliveira dos Reis <[email protected]>: >>> Bem achei uma "solução" um tanto quanto feia..... funciona mas não é >>> muito.. "elegante".... >>> >>> eu alteraria teste1.sh para conter: >>> >>> PARAMETROS="" >>> while [ $# != 0 ] >>> do >>> PARAMETROS="$PARAMETROS \"$1\"" >>> shift >>> done >>> >>> eval ./teste2.sh $PARAMETROS >>> >>> mas tenho certeza que existe uma solução mais simples pra isso... >>> >>> 2009/2/16 Thomaz de Oliveira dos Reis <[email protected]>: >>> >>>> isso não resolve, pois em teste2.sh a palavra parametro já se encontra >>>> em $3, $2 no caso tem apenas o "segundo" >>>> >>>> 2009/2/16 Victor Hugo Leite <[email protected]>: >>>>> Teste usando aspas no echo. >>>>> >>>>> Ex: >>>>> >>>>> echo "$1" >>>>> echo "$2" >>>>> >>>>> []'s >>>>> >>>>> 2009/2/16 Thomaz de Oliveira dos Reis <[email protected]> >>>>> >>>>>> Olá a todos! >>>>>> >>>>>> Eu lembro de ter estudado isso no curso com o Julio mas eu juro que me >>>>>> esqueci qual era a solução...(e não achei no infeliz do google e o >>>>>> livro está emprestado a um amigo) >>>>>> >>>>>> O problema é simples: >>>>>> >>>>>> tenho teste1.sh com o seguinte: >>>>>> >>>>>> ./teste2.sh $* >>>>>> >>>>>> e tenho teste2.sh com o seguinte: >>>>>> >>>>>> echo $1 >>>>>> echo $2 >>>>>> >>>>>> >>>>>> se eu chamar teste1.sh da seguinte forma: >>>>>> >>>>>> ./teste1.sh Primero "segundo parametro" >>>>>> >>>>>> ele vai imprimir apenas: >>>>>> >>>>>> primeiro >>>>>> segundo >>>>>> >>>>>> pois o shell vai primeiro resolver o $* para depois mandar pro segundo >>>>>> script, fazendo com que mande para o segundo ./teste2.sh primeiro >>>>>> segundo parametro (sem as ") >>>>>> >>>>>> Eu lembro que existia uma solução que funcionava bem para este >>>>>> problema... >>>>>> >>>>>> alguém tem a luz? >>>>>> >>>>>> abraços! >>>>>> >>>>>> >>>>>> ------------------------------------ >>>>>> >>>>>> ---------------------------------------------------------- >>>>>> Esta lista não admite a abordagem de outras liguagens de programação, >>>>>> como >>>>>> perl, C etc. Quem insistir em não seguir esta regra será moderado sem >>>>>> prévio >>>>>> aviso. >>>>>> ---------------------------------------------------------- >>>>>> Sair da lista: [email protected] >>>>>> ---------------------------------------------------------- >>>>>> Esta lista é moderada de acordo com o previsto em >>>>>> http://www.listas-discussao.cjb.net >>>>>> ---------------------------------------------------------- >>>>>> Servidor Newsgroup da lista: news.gmane.org >>>>>> Grupo: gmane.org.user-groups.programming.shell.brazil >>>>>> >>>>>> Links do Yahoo! Grupos >>>>>> >>>>>> >>>>>> >>>>> >>>>> [As partes desta mensagem que não continham texto foram removidas] >>>>> >>>>> >>>> >>> >> >
