"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...
_ Shell Script é a linguagem de programação de alto nível interpretada pela shell.
Se a resposta não lhe foi suficiente, temos agora como missão altamente possível, descrever cada uma das partes do verbete "shell script" para que o jovem jedi que nos acompanha nesta leitura sofra menas dores de cabeça e por conseguinte seja introduzido de forma mais prazerosa no fantástico mundo da programação.
Deixando um pouco de lado este estilo de dialética maliciosa, mas já amaciando a carne usando análise extremamente superficial, podemos escrever que:
Shell Script = Shell + Script
Demasiadamente obvio :). Porém a eficácia didática desta equação seria maior se já possuíssemos em mãos alguns conceitos básicos que pretendo expor no decorrer do artigo.
Linguagens e níveis de necessidade
O que é um computador?
Uma máquina como uma chave de fenda. Apenas uma ferramenta sem vida alguma esperando para que os seres pensantes, nós humanos providos de inteligência natural (uns mais outros menos e outros nenhuma), possamos manipulá-lo para alcançarmos resultados que satisfaçam nossas necessidades.
Que necessidades seriam estas?
As necessidades de resolver problemas de nosso dia a dia (criar soluções).
Estou falando além, mas não só, do uso comum. Como por exemplo, digitar um texto num editor qualquer. Ou inserir dados numa planilha, escutar música, ler um e-book, assistir um filme, somar dois números, acessar pornografia na Internet etc. Sim, tudo isso é por demais corriqueiro. E são exatamente estas coisas e muitas outras de motivação mais científica ou complexa do que as anteriormente listadas que são a razão de programarmos computadores.
Quando programamos computadores, estamos dizendo a eles o que fazer com as informações que nele são inseridas por um usuário de um programa. Estamos de certa forma dando vida ao "ser" até então inanimado (não que você possa programar seu PC para andar pela sua casa, escritório ou quarto e ainda conversar com você - não que isso já não esteja acontecendo na mente de alguns tipos de malucos :).
Resumindo, o computador é totalmente desprovido de auto suficiência, cabe ao ser humano manipulá-lo para que seja alcançada a meta pretendida, ou seja, a resolução de um problema da forma mais rápida possível e, portanto a mais econômica. Essas são os principais motivos de programarmos computadores.
Para tal tarefa dispomos de ferramentas básicas chamadas linguagem de programação.
O que são linguagens de programação?
São um conjunto de símbolos escritos sobre determinadas regras em um arquivo texto comum (texto plano) que usualmente chamamos de código fonte ou simplesmente código. Onde devemos seguir a risca estas regras para que o computador possa entender com absoluta segurança o que nós pretendemos que ele faça por/para nós.
Essas linguagens possuem regras rígidas que não admitem forma coloquial, como na linguagem humana usual, como o sentido duplo ou artifícios gesticulares, expressões faciais (estas duas últimas, obviamente, pelo código ser escrito) etc.
Apresentam como característica principal a classificação por nível de abstração em relação ao nosso entendimento. Ou seja, a forma ou quantidade de informação entendidas imediatamente por nós humanos comuns, mas que é suficiente para que o computador entenda estas ordens de forma clara, que por não ser nenhum pouco inteligente e portanto não é dotado naturalmente de malícia (leia aqui - criatividade usada para adaptar-se a dinâmica do meio exterior) só entende zero e um (a famosa linguagem binária: bite desligado igual a zero, ligado igual a um).
Como foi dito anteriormente, quanto maior a abstração desta linguagem, mais distante da linguagem humana ela estará, logo teremos um baixo nível de entendimento imediato por nós humanos. É através deste quesito que classificamos as linguagens de programação como: de baixo nível e alto nível.
Voltando aos zeros e uns. Como foi dito, o computador só entende a linguagem do zero e um. Logo é necessário um programa que as traduza (compile) o código fonte ou o interprete. Assim temos uma nova classificação dentro de nossa explanação: linguagens compiladas e linguagens interpretadas.
[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.