Bash Beginner Series # 1: Cree y ejecute su primer script de Bash Shell

Hola soy Ana. Os traigo un nuevo post sobre el sistema operativo mas molón. Un placer linuxeros.

Si necesita hacerlo más de una vez, ¡automatícelo!

A menudo encontrará que repite la misma tarea en Linux una y otra vez. Esto puede ser una simple copia de seguridad del directorio o la limpieza de archivos temporales o incluso la clonación de una base de datos.

La automatización de tareas es uno de los muchos escenarios útiles en los que puede utilizar el poder de los scripts bash.

Permítame mostrarle cómo crear un script de shell bash simple, cómo ejecutar un script de bash y lo que necesita saber sobre los scripts de shell.

Cree y ejecute su primer script de shell

Primero creemos un nuevo directorio llamado scripts que albergará todos nuestros scripts bash.

mkdir scripts
cd scripts

Ahora, en este «directorio de script», cree un nuevo archivo llamado hello.sh usando el comando cat:

cat > hello.sh

Pon la siguiente línea en ella, escribiéndola en la terminal:

echo 'Hello, World!'

Presione Ctrl + D para guardar el texto en el archivo y salir del comando cat.

También puede utilizar un editor de texto basado en terminales como Vim, Emacs o Nano. Si usa un Linux de escritorio, también puede usar un editor de texto gráfico como Gedit para agregar texto a este archivo.

Entonces, básicamente use el comando echo para imprimir «Hola mundo». Puede usar este comando directamente en la terminal, pero en esta prueba ejecutará este comando a través de un script de shell.

Ahora haga que el archivo hello.sh sea ejecutable usando el comando chmod de la siguiente manera:

chmod u+x hello.sh

Finalmente, ejecute su primer script de shell, precedido por hello.sh con el «bash» deseado del shell:

bash hello.sh

Ya verás Hello, World! impreso en la pantalla. Probablemente fue el programa Hello World más fácil que hayas escrito, ¿no?

Aquí hay una captura de pantalla de todos los pasos que vio anteriormente:

Convierta su script de shell en un script bash

¿Confundido? No se confunda todavía. Te explicare las cosas.

Intento que es la abreviatura de «Bourne-Again shell» es solo uno de los muchos shells disponibles en Linux.

El shell es un intérprete de línea de comandos que recibe y ejecuta comandos. Si alguna vez ha ejecutado un comando de Linux, entonces ha usado el shell. Cuando abre una terminal en Linux, ya está ejecutando el shell predeterminado en su sistema.

Bash es a menudo el shell predeterminado en la mayoría de las distribuciones de Linux. Es por eso que bash es a menudo sinónimo de shell.

Cómo encontrar qué shell utilizo en Linux [4 Methods]

Aquí hay cuatro comandos simples para averiguar qué shell está utilizando en Linux.

Los scripts de shell a menudo tienen sintaxis casi idénticas, pero a veces difieren. Por ejemplo, el índice de la matriz comienza en 1 en Zsh en lugar de 0 en bash. Guión escrito para Cáscara de Zsh no funcionará de la misma manera en bash si hay matrices.

Para evitar sorpresas desagradables, debe decirle al intérprete que su script de shell está escrito para un shell bash. ¿Cómo haces eso? ¡Estás usando shebang!

La línea SheBang al comienzo del script de shell

La línea «#! / Bin / bash se llama línea shebang, y en algunas publicaciones se llama línea hashbang, y eso se debe a que comienza con un hash con dos caracteres «#» y ¡bang! “.

#! /bin/bash

echo 'Hello, World!'

Cuando enciende la línea «#! / Bin / bash «en la parte superior de su secuencia de comandos, el sistema sabe que desea utilizar bash como intérprete de su secuencia de comandos. De esta manera, puede ejecutar el script hello.sh directamente ahora sin antecederlo con bash.

Cómo cambiar el shell en Linux

Este tutorial rápido le muestra cómo verificar el shell de trabajo, el shell disponible en el sistema y cómo cambiar el shell predeterminado en Linux.

Agregue su script de shell a PATH (para que pueda ejecutarse desde cualquier directorio)

Es posible que haya notado que utilicé ./hello.sh para ejecutar el script; obtendrá un error si pierde el plomo./

abhishek@handbook:~/scripts$ hello.sh
hello.sh: command not found

Piense que está intentando ejecutar un comando llamado hello.sh. Cuando ejecuta todos los comandos en su terminal; ellos buscan este comando en un conjunto de directorios que se almacenan en la variable PATH.

Puede usar echo para ver el contenido de esta variable PATH:

echo $PATH
/home/user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Los dos puntos (:) separan la ruta de cada uno de los directorios que escanea su shell cuando ejecuta un comando.

Los comandos de Linux como echo, cat, etc. se puede ejecutar desde cualquier lugar porque sus ejecutables se almacenan en directorios bin. Los directorios de basura se incluyen en PATH. Cuando ejecuta un comando, su sistema verifica PATH para todas las ubicaciones posibles que necesita buscar para encontrar el archivo ejecutable para ese comando.

Si desea ejecutar su script bash desde cualquier lugar, como si fuera un simple comando de Linux, agregue la ubicación de su script de shell a la variable PATH.

Primero, tome la ubicación del directorio de su script (si asume que está en el mismo directorio), use el comando PWD:

pwd

Utilice el comando de exportación para agregar el directorio de sus scripts a la variable PATH.

export PATH=$PATH:/home/user/scripts

Observe que agregó un «directorio de script» al final de nuestra variable PATH. Entonces, la ruta del usuario se busca después de los directorios estándar.

El momento de la verdad está aquí; ejecutar hello.sh:

abhishek@handbook:~/scripts$ hello.sh
Hello, World!

¡Funciona! Esto nos lleva al final de esta lección. Espero que ahora tenga una idea básica sobre los scripts de shell.

Desde que le presenté la variable PATH, esté atento al próximo tutorial de scripting de bash, donde analizo las variables de shell en detalle.

El Blog lo hacemos para ayudar y servir de ayuda a la comunidad Linux. Esperamos que os guste.

Leave a Reply