[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: diferença entre sh e ./



Olá!

O shell, interpretador de linhas de comandos, tem suas variações no universo Unix, sendo o sh o mais simples e compatível entre os sistemas Unix/Linux.

No Linux, o mais usado é o bash (Bourne-Again Shell), o qual contém um conjunto bem completo de extensões do shell (sh) e interpreta expressões regulares bem complexas, de tal forma que praticamente todos scripts feitos com bash não rodam com sh, isto é, são pouco portáveis entre sistemas Unix. Veja mais detalhes nos sites em http://aurelio.net/shell/

Respondendo sua pergunta, você fez um script bash e está tentando rodar com sh, onde a probabilidade de não rodar já foi explicada acima. Mas quando usa ./ acontece que o shell verifica na primeira linha, que tem os caracteres mágicos #!, qual é um script e qual interpretador utilizar, que, no seu caso, é o bash, daí seu script roda.

[]'s

Junior Polegato

Em 22/05/2015 23:04, "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



Reply to: