Boa noite,

Não estou totalmente certo, talvez alguém com mais conhecimento possa me 
corrigir, mas minha interpretação é a seguinte:

Quando você executa com sh, na verdade você está executando o sh e passando o 
seu script como parâmetro, neste caso o sh vai ser o interpretador, e no caso 
do Debian, o sh é na verdade o dash.

Quando você executa com ./ você está executando diretamente o script, e o 
interpretador é chamado na primeira linha do script, nesse caso o bash.

Então no primeiro caso quem está interpretando o seu script é o dash e no 
segundo é o bash, são duas shells diferentes e o que funciona em uma pode não 
funcionar, necessariamente, na outra.

Se, em vez de usar sh para executar seu script, você usar bash, ele vai 
funcionar. Assim como se você alterar a primeira linha do seu script para: 
#!/bin/dash ou #!/bin/sh e executar ele com ./ você vai obter o mesmo erro que 
está obtendo agora executando com sh.

On Fri, May 22, 2015 at 11:04:25PM, Tiago Pigazao wrote:

> Boa noite
> 
> Pessoal alguem sabe, qual é a diferença de se executar um shell script com
> "sh" ou com "./" ?
> 
> estou com o seguinte cenário..
> 
> tenho um script com permissão de execução ok , ao executar com "sh" ele não
> funciona (da problema na linha do if), agora se executar com "./"  funciona
> ok... segue script abaixo :
> 
> #!/bin/bash
> for var in $(seq 100) ; do
> if (( $var % 2 == 0 ))
> then
> echo $var
> fi ; done

-- 
Fabio A. De Muzio Tobich


-- 
To UNSUBSCRIBE, email to debian-user-portuguese-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20150523024533.GA5044@(none)

Responder a