Tutorial de Shell

Shell es un programa escrito en lenguaje C, es el puente entre el usuario y Linux. Shell es tanto un lenguaje de comandos como un lenguaje de programación.

Shell se refiere a una aplicación que proporciona una interfaz a través de la cual el usuario accede a los servicios del núcleo del sistema operativo.

El sh de Ken Thompson fue el primer Shell de Unix; Windows Explorer es un Shell de interfaz gráfica típico.

Herramienta en línea de Shell


Script de Shell

Un script de Shell (shell script) es un programa de script escrito para el shell.

Cuando la industria menciona "shell", normalmente se refiere a los scripts de shell, pero los lectores deben saber que shell y shell script son dos conceptos diferentes.

Por costumbre y por brevedad, "programación de shell" en este artículo se refiere a la programación de scripts de shell, no al desarrollo del propio shell.


Entorno de Shell

La programación de Shell, al igual que la programación en JavaScript o PHP, solo requiere un editor de texto para escribir código y un intérprete de scripts que pueda ejecutarlo.

Hay muchos tipos de Shell en Linux; los comunes son:

  • Bourne Shell (/usr/bin/sh o /bin/sh)
  • Bourne Again Shell(/bin/bash)
  • C Shell(/usr/bin/csh)
  • K Shell(/usr/bin/ksh)
  • Shell for Root(/sbin/sh)
  • ……

Este tutorial se centra en Bash, es decir, Bourne Again Shell. Debido a su facilidad de uso y gratuidad, Bash se usa ampliamente en el trabajo diario. Además, Bash es el Shell predeterminado en la mayoría de los sistemas Linux.

En general, la gente no distingue entre Bourne Shell y Bourne Again Shell, por lo que, como#!/bin/sh, también se puede cambiar a#!/bin/bash。

#!le dice al sistema que el programa especificado por la ruta posterior es el programa Shell que interpretará este archivo de script.


El primer script de shell

Abre un editor de texto (puedes usar el comando vi/vim para crear archivos) y crea un nuevo archivo test.sh con extensión sh (sh significa shell). La extensión no afecta la ejecución del script; basta con que el nombre sea descriptivo. Si usas PHP para escribir un script de shell, usa php como extensión.

Escribe algo de código; la primera línea generalmente es así:

Ejemplo

#!/bin/bash
echo "Hello World !"

#!es una marca convenida que le dice al sistema qué intérprete necesita este script para ejecutarse, es decir, qué Shell se utiliza.

El comando echo se usa para mostrar texto en la ventana.

Hay dos métodos para ejecutar scripts de Shell:

1. Como programa ejecutable

Guarda el código anterior como test.sh y usa cd para ir al directorio correspondiente:

chmod +x ./test.sh  #使脚本具有执行权限
./test.sh  #执行脚本

Nota: debe escribirse como./test.sh, no comotest.sh. Lo mismo ocurre con otros programas binarios: si escribes directamente test.sh, el sistema Linux buscará en PATH si existe un archivo llamado test.sh, y solo /bin, /sbin, /usr/bin, /usr/sbin, etc. están en PATH; tu directorio actual normalmente no está en PATH, por lo que escribir test.sh no encontrará el comando. Debes usar ./test.sh para indicar al sistema que lo busque en el directorio actual.

2. Como argumento del intérprete

Este método consiste en ejecutar directamente el intérprete, cuyo argumento es el nombre del archivo del script de shell, por ejemplo:

/bin/sh test.sh
/bin/php test.php

Los scripts ejecutados de esta manera no necesitan especificar el intérprete en la primera línea; si lo escribes, no servirá de nada.

Otras extensiones