On Thu, 7 Feb 2008 13:00:25 -0200 "Leonardo Neves" <[EMAIL PROTECTED]> wrote:
> Otavio, > > segui algumas das suas dicas, mas ainda não consegui o pretendido. > > 1 - O bash e o sh são diferentes, como pode ser visto aqui: > [EMAIL PROTECTED] ~]# ls -l /bin/bash /bin/sh > -r-xr-xr-x 1 root bin 516392 Jan 5 2000 /bin/bash* > -r-xr-xr-x 1 root root 95320 Jan 19 2005 /bin/sh* Vc nao fez isso em um Linux, correto ?! O bash e sh sao links no Linux, em outros sistemas operacionais, como nos BSDs e no Solaris, com eh o q vc esta usando, eles sao diferentes, como no comando acima. > 2 - O script não rodava diretamente em sh, mas alterei os locais onde > estava $(comandos) para `comandos` e rodou. Infelizmente no ps ainda > era mostrado da seguinte forma: > /bin/sh script.sh > > 3 - Usei o env, porém no ps apareceu assim: > bash script.sh Quer dizer que ele esta pegando o interpretador correto. Nao era isso que vc queria ? Ou vc quer migrar o seu script Bash para Sh ? > 4 - Tentei retirar a primeira linha do script, ou seja deixando o > shell se virar para interpretar, nesse caso o ps mostrou apenas: > bash > e os comandos disparados internamente, como > grep > sleep Vc nao pode retirar a primeira linha, tem que usar o env, veja: #!/usr/bin/env bash Pois ele "se vira" pra encontrar o bash no $PATH. Assim como na consideracao 3 acima. > As coisas mais simples às vezes podem ser meio complicadas. Alguma > outra sugestão? A minha sugestao eh usar o "env", sugestao e solucao tmb ;-). Leia o man do env que vc nao vai se arrepender. > > Atenciosamente, um abraco, -- | -- | Otávio Fernandes < otaviof | gmail | com > | FreeBSD 7.0-PRERELEASE && GNU/Linux User: 283.396 | (( Especial Programação )) http://geekbr.podcastbrasil.com/ -- 0.15 | --