[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] como omitir o /bin/bash
From: |
Bruno Gunter Fricke |
Subject: |
Re: [shell-script] como omitir o /bin/bash |
Date: |
Thu, 07 Feb 2008 12:01:25 -0200 |
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" <address@hidden> wrote:
>
> > Pessoal,
> >
> > Meus scripts em ambiente solaris rodam da seguinte forma:
> >
> > [root@oracle-03 ~]# ./teste.sh &
> > [2] 14761
> > [root@oracle-03 ~]# 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]
- como omitir o /bin/bash, Leonardo Neves, 2008/02/07
- Re: [shell-script] como omitir o /bin/bash, Otávio Fernandes, 2008/02/07
- Re: [shell-script] como omitir o /bin/bash,
Bruno Gunter Fricke <=
- Re: [shell-script] como omitir o /bin/bash, Otávio Fernandes, 2008/02/07
- Re: [shell-script] como omitir o /bin/bash, Leonardo Neves, 2008/02/07
- Re: [shell-script] como omitir o /bin/bash, Otávio Fernandes, 2008/02/07
- Re: [shell-script] como omitir o /bin/bash, Leonardo Neves, 2008/02/07
- Re: [shell-script] como omitir o /bin/bash, Otávio Fernandes, 2008/02/07
- Re: [shell-script] como omitir o /bin/bash, Leonardo Neves, 2008/02/07
- Re: [shell-script] como omitir o /bin/bash, Tiago Barcellos Peczenyj, 2008/02/07
- RE: [shell-script] como omitir o /bin/bash, Campos, Wilson (W.R.), 2008/02/07
- Re: [shell-script] como omitir o /bin/bash, Flavio Junior, 2008/02/07
- Re: [shell-script] como omitir o /bin/bash, Bruno Gunter Fricke, 2008/02/08