Olá.
sh é um link em /bin/sh. No Debiian aponta para /bin/dash.
Dash é uma implementação do Almqvist Shell (ash) para o Debian. É
shell diferente do Bash.
./ executa o script com shell do ambiente
Dash entende as coisas diferentes do que Bash entende. São como que
linguagens de scripts diferentes.
Por isso é que há uma orientação prá se escrever scripts que funcionem
não apenas com bash ou zsh, mas com csh, ksh, dash e muitos outros. No
caso do if há dois comandos prá serem usados junto com ele chamado
expr e test.
Uma versão do seu script para Dash seria:
#!/bin/sh
for var in $(seq 100) ; do
if test $(expr $var % 2) -eq 0
then
echo $var
fi ;
done
Em Fri, 22 May 2015 23:04:25 -0300
Tiago Pigazao <pigazao@gmail.com> escreveu:
--
> 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
To UNSUBSCRIBE, email to debian-user-portuguese-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: [🔎] 887903.3626.bm@smtp234.mail.gq1.yahoo.com" target="_blank">https://lists.debian.org/[🔎] 887903.3626.bm@smtp234.mail.gq1.yahoo.com