Un guion de concha o guion de shell (en inglés shell script) es un programa de ordenador diseñado para ser ejecutado por el shell de Unix, un intérprete de línea de comandos.[1] Los varios dialectos de guiones de shell están considerados como lenguajes de guionado o de scripting. Las operaciones típicas ejecutadas por los guiones de shell incluyen manipulación de archivos, ejecución de programas e impresión de texto. Un guion que instala el entorno, ejecuta el programa y hace el cleanup (limpieza), logging, etc. necesario, se conoce como wrapper o envoltorio.
El término también se utiliza de forma más general para significar el modo automatizado de correr un shell de sistema operativo; en sistemas operativos concretos se denominan de otra forma como archivos de lote o batch files (MSDos-Windows95, OS/2), procedimientos de comandos (VMS), y guiones de shell (Windows NT y derivados de terceras partes como 4NT), y sistemas operativos de mainframes están asociados con un número de términos.
La instalación típica de Unix/Linux/POSIX incluye el KornShell (ksh) en varias versiones posibles como ksh88, Korn Shell '93 y otros. El shell más viejo todavía en uso común es el Shell Bourne (sh); los sistemas de Unix invariablemente también incluyen el Shell C (csh), Bash (bash), un Shell Remoto (rsh), un Shell Seguro (ssh) para conexiones SSLtelnet conexiones, y un shell que es el principal componente de la instrucción Tcl/Tk normalmente llamada tclsh; wish es un shell Tcl/Tk basado en GUI (gráfica). Los shells C y Tcl tienen sintaxis bastante similares a aquello de los lenguajes de programación, y los shells Korn y Bash son desarrollos del Bourne Shell, que está basado en el lenguaje ALGOL con elementos de un número de otros que también se han añadido.[2] Por otro lado, los distintos shells más herramientas, como awk, sed, grep, y BASIC, Lisp, C y similares contribuyeron al lenguaje de programación de Perl .[3]
Otros shells disponibles en máquinas o disponible para descarga y/o la compra incluyen el shell Almquist (ash o ceniza), PowerShell (msh), Shell Z (zsh, una especie de KornShell ampliado), el Shell Tenex C (tcsh), un shell de tipo Perl (psh). Programas relacionados como shells basados en Python, Ruby, C, Java, Perl, Pascal, Rexx &c en varias formas, están también ampliamente disponibles. Otro shell poco común es osh, cuya página del manual declara que "es una portación o port retro-compatible del intérprete de órdenes de comandos de Sixht Edition UNIX."[4]
↑Kernighan, Brian W.; Pike, Rob (1984), «3. Using the Shell», The UNIX Programming Environment, Prentice Hall, Inc., p. 94, ISBN0-13-937699-2, «The shell is actually a programming language: it has variables, loops, decision-making, and so on.».