Hacer un archivo .sh ejecutable en Linux: Guía paso a paso

Hacer un archivo .sh ejecutable en Linux: Guía paso a paso

Los archivos .sh son scripts de shell, que son archivos de texto que contienen una secuencia de comandos que se ejecutan en un shell de Linux. Para poder ejecutar un archivo .sh, primero debes asegurarte de que tenga permisos de ejecución. Este artículo te guiará a través del proceso de convertir un archivo .sh en un archivo ejecutable.

Cómo hacer que un archivo .sh sea ejecutable en Linux

El comando principal para cambiar los permisos de un archivo en Linux es chmod. El comando chmod (change mode) te permite modificar los permisos de acceso a un archivo o directorio.

Para hacer que un archivo .sh sea ejecutable, necesitas usar chmod con la opción +x (agregar permiso de ejecución). La sintaxis del comando es la siguiente:


chmod +x <nombre_del_archivo.sh>

Por ejemplo, para hacer que un archivo llamado mi_script.sh sea ejecutable, usarías el siguiente comando:


chmod +x mi_script.sh

Después de ejecutar este comando, el archivo mi_script.sh podrá ser ejecutado.

Ejecutando un script .sh

Una vez que el archivo .sh es ejecutable, puedes ejecutarlo desde la línea de comandos. La forma más sencilla de hacerlo es usando el comando ./ seguido del nombre del archivo. Por ejemplo, para ejecutar mi_script.sh, ejecutarías el siguiente comando:


./mi_script.sh

Cómo hacer un archivo .sh ejecutable para todos los usuarios

Si quieres que el script sea ejecutable por cualquier usuario del sistema, necesitas usar un valor numérico en lugar de la opción +x. El valor 755 otorga permisos de lectura y ejecución a todos los usuarios, y permisos de escritura solo para el propietario del archivo. Esto es útil para scripts que se deben ejecutar por diferentes usuarios, como scripts de servidor o herramientas de administración.

LEER:  Instalar archivos .deb en Ubuntu: guía completa

Para cambiar los permisos a 755 usarías el siguiente comando:


chmod 755 <nombre_del_archivo.sh>

Añadir un script a la variable de entorno $PATH

Para poder ejecutar un script .sh desde cualquier directorio en el sistema, debes añadirlo a la variable de entorno $PATH. Esta variable contiene una lista de directorios donde el sistema busca archivos ejecutables.

Para añadir un script a $PATH, puedes copiar el script al directorio /usr/local/bin/. Este directorio es un directorio estándar para archivos ejecutables.

Nota: Debes ser root para copiar archivos en /usr/local/bin/.


sudo cp <nombre_del_archivo.sh> /usr/local/bin/

Crear un directorio personal para scripts

Si solo necesitas que el script sea accesible para ti, puedes crear un directorio personal para scripts dentro de tu directorio home, ~/bin/. Puedes añadir este directorio a $PATH modificando el archivo ~/.profile.


mkdir ~/bin
echo 'PATH=$PATH:~/bin' >> ~/.profile
source ~/.profile

Nota: Es posible que el directorio ~/bin/ ya esté configurado en tu sistema, en cuyo caso no necesitas crear este directorio.

Resumen

Para hacer un archivo .sh ejecutable en Linux, debes realizar estos pasos:

  1. Utiliza el comando chmod +x <nombre_del_archivo.sh> para agregar permisos de ejecución al archivo.
  2. Ejecuta el archivo usando el comando ./<nombre_del_archivo.sh>.
  3. Si quieres que el script sea ejecutable por todos los usuarios, puedes usar el comando chmod 755 <nombre_del_archivo.sh>.
  4. Si quieres que el script sea ejecutable desde cualquier directorio, puedes añadirlo a la variable de entorno $PATH.

Recuerda que la ejecución de scripts de shell puede conllevar riesgos de seguridad, por lo que es importante entender el código antes de ejecutarlo.

Ejemplos prácticos

  • Crear un script que muestre el nombre de usuario y el directorio actual:
LEER:  Dominar Bash Scripting: Automatiza Tareas en Linux con Scripts

«`bash

!/bin/bash

echo «El usuario actual es: $USER»
echo «El directorio actual es: $PWD»
«`

  • Crear un script que limpie la pantalla y muestre el texto «Hola mundo»:

«`bash

!/bin/bash

clear
echo «Hola mundo»
«`

Consejos adicionales

  • Siempre usa el comando chmod para cambiar los permisos de un archivo.
  • Si no estás seguro de qué permisos usar, puedes usar el comando man chmod para obtener más información.
  • Antes de ejecutar un script, asegúrate de leer el código y entenderlo.

Conclusión

Hacer un archivo .sh ejecutable en Linux es una tarea sencilla. Siguiendo los pasos descritos en este artículo, puedes convertir cualquier archivo .sh en un archivo ejecutable y usarlo como un programa regular. Recuerda que make a script executable en Linux es una habilidad esencial para cualquier usuario, y este artículo te ha proporcionado una guía detallada para ayudarte a aprender esta habilidad.