É um script de shell é uma linguagem de programação [closed]

5

Esta é a primeira pergunta no UNIX:

Eu iniciei o shell script de dois dias antes.

Mas eu tenho um conflito: é um script de shell uma linguagem de programação especial para um shell específico ??

    
por MUE 04.11.2012 / 20:54

2 respostas

1

Se você souber de algum comando, digamos, ls , digite-o e, em seguida, pressione enter, o shell saberá onde esse programa (ls) está, invocá-lo e mostrará o resultado. Este é o uso de shell "não-script".

Mas, se você encomendar alguns desses comandos em uma sequência, digamos A, B, C, D e, em seguida, colocá-lo (a sequência) em um arquivo executável, você terá um programa. O programa tem um nome e uma localização, portanto, ele pode ser referenciado e chamado; tem código, então ele pode ser executado, um comando por vez, pela CPU.

(O programa não é compilado - como, por exemplo, o código C teria sido - e isso faz dele um script. Mas é um programa, no entanto.)

Isto é, em algum aspecto, já neste momento você está programando, porque você está instruindo o computador sobre o que fazer.

Além disso, você está, novamente em um nível muito básico, também usando uma linguagem de programação, porque você não pode simplesmente digitar qualquer coisa (e esperar que funcione); ao mesmo tempo, o que quer que você digite, você receberá uma atividade do computador que corresponde exatamente ao que você escreveu.

Existem regras sobre como você deve dizer as coisas e existem regras sobre como o computador reagirá a essas coisas.

Dito isso, com "programação", você costuma associar um poder mais expressivo do que simplesmente empilhar comandos um em cima do outro. No mínimo, você gostaria de ramificar ( if ... then ... else ), iteração (loops: while , for , etc.) e, provavelmente, algumas outras coisas também. Mas tudo bem, já que as linguagens de script têm essas coisas e muito mais.

Os shells têm diferentes linguagens, sim, mas alguns podem se sobrepor em grande parte por causa da convenção (por que mudar uma boa maneira de dizer algo?), ou ser compatível com versões anteriores (ou algum padrão).

    
por 04.11.2012 / 21:40
4

Bash é uma linguagem scripting :

De wikipedia :

A scripting language or script language is a programming language that supports the writing of scripts, programs written for a software environment that automate the execution of tasks which could alternatively be executed one-by-one by a human operator. [...]

The term script is typically reserved for small programs (up to a few thousand lines of code).

Os scripts geralmente são rápidos e sujos. Diga, um script bash para facilitar sua vida. Considerando que uma linguagem de programação é para ser muito mais pensada e deliberada. A coisa com linguagens de 'programação' é que elas são geralmente mais rápidas, e oferecem mais controle sobre coisas de baixo nível se você quiser.

Linguagens de 'programação' são tipicamente usadas em cenários onde o código estará disponível por um longo tempo. Se você quiser escrever algo rapidamente e nunca usá-lo novamente, as linguagens 'scripting' são o que você quer.

Você pode encontrar um artigo interessante aqui .

    
por 04.11.2012 / 22:21