GNU/Linux >> Tutoriales Linux >  >> Linux

¿Es shell script un lenguaje de programación?

Bash es un scripting idioma:

De wikipedia:

Un lenguaje de secuencias de comandos o script language es un lenguaje de programación que admite la escritura de scripts, programas escritos para un entorno de software que automatizan la ejecución de tareas que, alternativamente, podrían ser ejecutadas una por una por un operador humano. [...]

El término script generalmente se reserva para programas pequeños (hasta unas pocas miles de líneas de código).

Los guiones suelen ser rápidos y sucios. Digamos, un script bash para hacer tu vida más fácil. Mientras que un lenguaje de 'programación' está destinado a ser mucho más pensado y deliberado. Lo que pasa con los lenguajes de 'programación' es que suelen ser más rápidos y ofrecen más control sobre las cosas de bajo nivel si lo desea.

Los lenguajes de 'programación' se utilizan normalmente en escenarios en los que el código existirá durante mucho tiempo. Si desea escribir algo rápidamente y no volver a usarlo nunca más, lo que necesita son los lenguajes de 'secuencias de comandos'.

Puede encontrar un artículo interesante aquí.


Si conoce algún comando, diga, ls , lo escribe y luego presiona regresar, el shell sabrá dónde está ese programa (ls), lo invocará y le mostrará el resultado. Este es el uso de shell "sin script".

Pero, si ordena un par de estos comandos en una secuencia, digamos A, B, C, D, y luego los pone (la secuencia) en un archivo ejecutable, tiene un programa. El programa tiene un nombre y una ubicación, por lo que puede ser referenciado e invocado; tiene código, por lo que puede ser ejecutado, un comando a la vez, por la CPU.

(El programa no está compilado, como lo habría estado, por ejemplo, la fuente C, y esto lo convierte en un script. Pero es un programa, no obstante).

Es decir, en algún aspecto, ya en este punto estás programando, porque le estás instruyendo a la computadora qué hacer.

Además, nuevamente en un nivel muy básico, también está utilizando un lenguaje de programación, porque no puede simplemente escribir cualquier cosa (y esperar que funcione); al mismo tiempo, independientemente de lo que escriba, obtendrá actividad de la computadora que corresponde exactamente a lo que escribió.

Hay reglas sobre cómo debe decir las cosas, y hay reglas sobre cómo reaccionará la computadora ante esas cosas.

Dicho esto, con la "programación", normalmente asocias algo más de poder expresivo que simplemente apilar comandos uno encima del otro. Como mínimo, le gustaría ramificar (if ... then ... else ), iteración (bucles:while , for , etc.), y probablemente algunas otras cosas también. Pero está bien, ya que los lenguajes de secuencias de comandos tienen esas cosas y más.

Los shells tienen diferentes idiomas, sí, pero algunos pueden superponerse en gran medida por convención (¿por qué cambiar una buena forma de decir algo?), o para ser compatibles con versiones anteriores (o algún estándar).


Linux
  1. Lenguaje de programación C - Introducción

  2. [ :Operador inesperado en programación shell

  3. Ejecutar script de shell en paralelo

  4. Programación en Samsung Chromebook

  5. Shell script directorio actual?

Cómo usar variables en secuencias de comandos de Shell

Cómo crear scripts de shell

Instalar lenguaje de programación de raqueta en Linux

¿Cómo ejecutar un comando en un script de Shell?

¿Puede un archivo .sh ser malware?

determinar shell en el script durante el tiempo de ejecución