"Shell Script é a linguagem de programação de alto nível interpretada pela shell". Se você não entendeu o significado da frase anterior, é bem provável que este artigo possa lhe ser útil...
Nesta modalidade de desenvolvimento, após escrito o código fonte, nenhum resultado (aplicação/programa) é gerado a menos que seja dada a ordem a um tipo de programa especial chamado de compilador para traduzir nossas ordens passadas ao nosso amigo burrinho através do código fonte para a linguagem de máquina, gerando assim o "executável" binário (zero ou um). Neste processo de tradução eventuais mensagens de erro são geradas auxiliando-nos na depuração do código (retirar/consertar erros).
Os exemplos mais famosos de linguagens compiladas são as linguagens C e C++ e de compiladores o gcc.
O que são linguagens interpretadas?
Após escrito o código fonte, nenhum código extra é gerado (compilado/traduzido). Apenas damos ordem a um programa "externo" para que ele interprete as ordens dadas ao computador para que tenhamos em mão o resultado esperado (aplicação/programa).
Como exemplo brutalmente banal de linguagem interpretada temos o código das páginas da internet que não passam de texto plano interpretado por um programa especial (um browser) como o Firefox, que "joga na tela" toda a parte visual como formatos de fontes e suas cores, alinhamentos de parágrafos, imagens e tudo mais o que vier.
Principais vantagens e desvantagens
Assim, resumidamente podemos dizer que:
1. Quanto a forma com que as linguagens de programação são apresentadas aos seres humanos, podemos classificá-las como:
Linguagens de alto nível - assim classificadas por apresentarem proximidade com dialeto humano escrito e portanto nos oferecem um bom entendimento imediato.
Linguagens de baixo nível - péssimo nível de entendimento por nossa limitada cabeça animal.
2. Quanto a forma com que as linguagens são "apresentadas" aos computadores:
Compiladas: necessitam de um programa que as traduza, mas apresentam alta velocidade de execução do aplicativo gerado e redução do consumo de memória RAM, por outro lado não temos acesso ao código fonte, a menos que sejamos os desenvolvedores do mesmo, diminuindo a capacidade de adaptação do programa por outros, com exceção óbvia que o código fonte seja distribuído, como acontece com os softwares livres, mas aumentando a segurança, já que o resultado gerado só pode ser entendido/lido por máquinas.
E ainda a portabilidade do código fonte entre sistemas operacionais estará impossibilitada (a menos que seja feita uma tradução), resultante das características peculiares de cada um o que não será explicada aqui pois, o escopo deste texto é outro;
Interpretadas: necessitam de um programa que as interprete em tempo real para o computador, e como um segundo programa é executado, temos um consumo extra de memória e processamento, e por conseqüência uma diminuição no desempenho se comparado com às linguagens compiladas, porém um alto nível de portabilidade, pois basta que tenhamos o programa interpretador instalado no sistema computacional para executarmos o nosso programa, além do acesso ao código fonte extremamente facilitado.
[4] Comentário enviado por stremer em 15/07/2008 - 18:00h
cara muito legal... só faltou um detalhe que o shell sozinho não faz tudo, para programar em shell script depende-se também do interpretador de comandos. O shell de maneira "crua" não faz quase nada...
[7] Comentário enviado por removido em 16/07/2008 - 01:19h
Primeiramente, muito obrigado por todos os comentários.
Me sinto orgulhoso de fazer parte desta comunidade e de levantar sua bandeira ácrata.
Minha intenção é introduzir não só o shell script mas conceitos relacionados ao mundo da programação computacional no decorrer da série de artigos.
Além de expor uma das minhas observações sobre uma das qualidades do GNU/Linux; o shell script é ótimo para introduzir novatos no assunto(programação em geral).
E stremer, sua dica foi anotada e com muita certeza será usada num dos próximos artigos.
Obrigado a todos!!!
[9] Comentário enviado por removido em 16/07/2008 - 02:53h
Muito obrigado pelo comentário julf...
A palavra menas presente no texto, está relacionada (instintivamente) com sentindo de intensidade ( no gênero feminino) e numero (dores - plural) e não ao menos operador matemático de adição (masculino). Portanto, está de acordo com as regras de criação de verbetes em nossa lingua.
Porém, não reconheço seu uso nesta forma como culto, apenas como linguagem "usual" do norte do Brasil (especialmente do estado do Pará) que está presente no texto somente para dar um florete humorístico...
É uma idéia/recurso didático que costumo usar para testar a atenção e interesse dos ouvintes/leitores sem ser esnobe e ignorante ao extremo.
[13] Comentário enviado por rone.martins em 11/03/2011 - 09:55h
Concordo com você que o Shell-script é uma poderosa ferramenta com recursos ilimitados, tornando-se um poderoso recurso para otimização, configuração e várias outras tarefas diárias, eu vejo o shell script como um script evoluido que você cria um script e a medida que for utilizando você aprimora aperfeiçoa, tornando mais útil e eficaz, assim este se torna um programa vivo, que cada vez mais se torna eficaz.