Fala Rodrigo, qdo vc coloca cmds entre parênteses, eles são executados em um shell filho, que fica abaixo do shell onde roda programa. Como não dá para mandar o valor de uma variável para cima, programa (ou o subshell definido pelos parênteses) não consegue resolver este valor. Me parece que vc tem 3 níveis de shell:
- Shell pai - aquele que disparou esta linha de cmds - Shell filho 1 - aquele criado pelos parenteses - Shell filho 2 - o shell onde roda programa. Se a variável estiver no shell pai basta exportá-la. Caso contrário faça: Programa << Fim i $Dia Fim Isso está bastante esmiuçado em www.julioneves.com Abraços :wq Em 15/02/07, rodrigobsi <[EMAIL PROTECTED]> escreveu: > > Ola pessoal, preciso de ajuda. > > Preciso criar um shell que execute um programa e preencha os campos > pra mim, e tambem que dê enters nos campos que estão preenchidos. > Na minha empresa todos os dias eu executo vários programas todos os > dias, preciso automatizar isso, mas estou com dificuldades em fazer > o shell funcionar. > > Tenho um programa que tem a opção "Informar" que pode ser aciona com > um enter ou teclar a letra " i ", depois ele vai para para um outro > campo para ee preencher com uma data. > Fiz um shell que funciona, mas apenas com dados fixos, exemplo: > (echo "i" ; echo "010207" ; echo "280207") | programa > Isso funciona, mas eu preciso que o shell preencha os campos com > valores de variáveis. > (echo "i" ; echo $DIA) | programa > Ja tentei assim, mas naum funciona, o campo do programa não > reconhece o valor da variável $DIA para preenchelo. > Alguem pode me ajudar? > Obrigado > > > [As partes desta mensagem que não continham texto foram removidas]
