Olá Fabio, Olha eu não vou dizer q é impossivel, mas acho difícil pela shell enviar um caracter de escape como argumento. Penso q é mais fácil convencer os desenvolvedores 4GL a alterarem o programa.
"Se a montanha não vai a Maomé, então Maomé vai à montanha." Att, Emerson ----- Original Message ----- From: Fábio Boeing To: [email protected] Sent: Wednesday, March 01, 2006 4:41 PM Subject: Re: [shell-script] Execussão de programa,passando parametro. Boa tarde Emerson Pensei em fazer isso (Também utilizo 4GL aqui), mas esse programa pertence a outra area, e não pode ser alterado. O que ele vai fazer para mim, é somente gerar um arquivo. Que utilizarei, quando executar o segundo programa. Por isso precisava fazer todo o processo na shell. ----- Original Message ----- From: Emerson Domingues Souto To: [email protected] Sent: Wednesday, March 01, 2006 3:45 PM Subject: Re: [shell-script] Execussão de programa,passando parametro. Fabio, 1o) Execução se escreve com ce cedilha e não com 2 S 2o) Eu não sei como passar o ESC como argumento, mas uso uma lógica q pode funconar pra vc: na execução do programa eu marco uma flag pra saber se foi enviado um parâmetro ou não, se sim eu de DENTRO do programa (e não da shell) eu forço o ESC. Ex: (no meu caso eu uso a linguagem 4GL) ######################### if arg_val(1) then # o programa recebeu um parametro let campo1 = arq_val(1) else # senao, obrigar a digitacao do campo1 pelo usuario input campo1 end if ######################### Em resumo, o tratamento pode ser feito no programa ao invés de tratar na shell Espero ter ajudado, Emerson ----- Original Message ----- From: Fábio Boeing To: [email protected] Sent: Tuesday, February 28, 2006 3:32 PM Subject: Re: [shell-script] Execussão de programa,passando parametro. Desculpem enviar a mesma dúvida novamente, porém ninguém conseguiu me responder da ultima vez. Conversei com algumas pessoas, e procurei em algumas literaturas, mas não encontrei algo que relacionasse esse assunto, ou mesmo que eu pudesse adaptar. Então, la vai novamente minha dúvida: O objetivo primario da minha shell, é executar um programa, passando um valor como parametro, e, em seguida, abrir um segundo programa, certo...? new_lic.sh 123 Assim executo a shell, passando este número como parametro... #!/bin/bash [ "$1" ] || { echo "uso: $0 <parametro>" ; exit 1 ;} VAR="$1" run 01 fab6000 ${VAR} Aqui eu pego o valor do parametro, e insiro no programa. Soh que ele não executa sozinho. Exitem mais dois campos que são preenchidos automaticamente, pelo programa, que poderiam ser alterados, mas não quero que os usuário modifiquem. Então preciso que ele insira o paramatro e já execute. O comando para execussão, é o ' ESC '. Depois da exeussão, o programa fecha sozinho, e a shell continua, abrindo o segundo programa. Mas este o usuário deve alterar, então a shell precisa somente abri-lo... Isso já está OK. O problema é... Ainda não consegui fazer com que seja passado o comando ' ESC ' pela shell, para que ela execute o programa, assim que ele seja executado e recebeba o valor... ALguém sabe como fazer isso? [As partes desta mensagem que não continham texto foram removidas] --------------------------------------------------------------------- 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 <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
