Um gatilho que eu costumo fazer é no início de um script dar um "whereis programa" e salvar o nome dele em uma variável. Primeiro que resolve em parte este problema e funciona em qualquer ambiente, não importando onde eles foram instalados/alocados :-)
Em Qui, 2008-02-07 às 11:56 -0200, Otávio Fernandes escreveu: > On Thu, 7 Feb 2008 11:31:14 -0200 > "Leonardo Neves" <[EMAIL PROTECTED]> wrote: > > > Pessoal, > > > > Meus scripts em ambiente solaris rodam da seguinte forma: > > > > [EMAIL PROTECTED] ~]# ./teste.sh & > > [2] 14761 > > [EMAIL PROTECTED] ~]# ps -ef | grep teste | grep -v grep > > root 14761 8229 0 11:23:27 pts/3 0:00 /bin/bash ./teste.sh > > > > > > Em ambientes Linux o comando em execução seria apenas ./teste.sh ao > > invés de /bin/bash ./teste.sh > > > > Apesar de não alterar em nada a execução do script, não consigo > fazer > > a monitoração de forma adequada via Nagios/NRPE. Alguém sabe como > > arrumar isso sem a necessidade de usar compiladores (shc, gcc). > > > > Atenciosamente, > > Leonardo, > > Isso ocorre porque o Linux te "engana" linkando o sh para bash > (comprove > com o seguinte comando $ ls -l /bin/sh). Bash eh apenas um tipo de > shell, existindo muitos outros, com diferentes funcionalidades e > habilidades, uns ate MUITO melhores do que o Bash, na minha opiniao. > > Verifique se os seus scripts utilizam alguma funcionalidade especifica > do bash, para isso vc pode fazer o seguinte (no solaris): > > $ /bin/sh teste.sh > $ echo $? > > Caso o resultado seja positivo, ou seja, o script roda sem maiores > problemas, troque a primeira linha de cada script para "#!/bin/sh" ao > inves de "#!/bin/bash". Caso contrario, vc pode ir colando os trechos > de > bash para nos te ajudarmos a migrar para sh. > > Outra alternativa, caso vc queria manter as funcionalidades do bash, > eh > utilizar o comando "env" ($ man env), no qual ele vai localizar o > interpretador bash no $PATH, com o env a primeira linha > ficaria assim: #!/usr/bin/env bash > > Por ter esta variedade de possibilidades eu sempre implemento os meus > shell scripts seguindo o padrao Sh, pois ele sempre vai ser aceito em > outros sistemas unix-like. > > 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 > | -- > > > > > [As partes desta mensagem que não continham texto foram removidas]
