Saltar al contenido principal
Página

Tema 2.5 - Comentarios, permisos y depuración

Comentarios en un Script Shell


Comentarios simples

En un script de Bash las líneas que comiencen con # (signo de número) son comentarios y por tanto no son interpretadas. En la línea de comandos todo lo que vaya después de un signo # es un comentario.

#!/bin/bash
# Este es un simple script en el shell de linux
# QVision Technologies
echo "Tiempo actual : $(date) @ $(hostname)"
echo "Configuracion de red"



La primera línea es conocida como “Shebang” explicada anteriormente, las dos siguientes líneas son tomadas como comentarios por el Shell en el cual estamos trabajando

  • Una palabra o línea que comienza con # hace que esa palabra y todos los caracteres restantes en esa línea sean ignorados
  • Estas líneas no son declaraciones para que bash las ejecute.
  • Los comentarios no son más que un texto explicativo sobre el script.
  • Hace que el código fuente sea más fácil de entender.
  • Ayuda a otros administradores del sistema a comprender el código, lógica y les ayuda a modificar el script que se escribió si así se requiere.


Comentarios de múltiples líneas

En el Shell de Linux también es posible realizar comentarios de múltiples líneas, para realizar este, se debe comenzar con el signo “<<” seguida de una palabra que tendrá que ser la misma que finalizara el comentario múltiple, en este caso práctico se tomó la palabra “COMMENT” Pero puedes utilizar la palabra que tu consideres

#!/bin/bash
echo "Inicio de comentario de multiples lineas"
<<COMMENT  # -> Inicio comentario multiple
Este es un comentario
Que se puede realizar
En multiples lineas
COMMENT # -> Fin comentario multiple
echo "Fin de comentario de multiples lineas"




Configurar permisos en un Shell Script

El comando chmod (modo de cambio) es un comando de shell en Linux. Puede cambiar los modos del sistema de archivos de archivos y directorios. Los modos incluyen permisos y modos especiales. Cada script de shell debe tener el permiso de ejecución. El modo puede ser una representación simbólica de los cambios a realizar o un número octal que representa el patrón de bits para los nuevos bits de modo de cambio.

Permitir que todos los usuarios ejecuten el script:

chmod +x script.sh
#OR
chmod 0755 script.sh
 
Solo permita que el propietario ejecute el script, ingrese
chmod 0700 script.sh
#OR
chmod u=rwx,go=script.sh
#OR
chmod u+x script.sh

Para ver los permisos de un archivo o directorio, use
ls -l script.sh
 

Establezca los permisos para que el usuario y el grupo de usuarios solo lean y ejecuten (sin permiso de escritura), ingrese:

chmod ug=rx script.sh


Elimine los permisos de lectura y ejecución para el grupo y el usuario, ingrese:

chmod ug= script.sh

Para conocer más información acerca de todas las acciones que puede realizar con el comando chmod ingrese el siguiente comando:

man chmod



Depuración De Shell Scripts

Si bien la programación de shell-scripts no se puede depurar fácilmente, los shells suelen ofrecer algunos mecanismos en este aspecto. En concreto, tanto "bash" como "dash" ofrecen los siguientes argumentos, que pueden usarse simultáneamente:



Se puede utilizar de la siguiente manera en nuestro Shell script:

bash -x script-name
#OR
bash -xv script-name




También es posible depurar sólo parte del script insertando en él los siguientes comandos (pueden usarse igualmente en la propia línea de comandos):


Por ejemplo:

#!/bin/bash

# Modo debug activado
set -x     # -> Inicio del modo debug

# Run shell commands
echo "Hello $(LOGNAME)"
echo "Today is $(date)"
echo "Users currently on the machine, and their processes:"

# Modo debug desactivado
set +x # -> Fin del modo debug

Además de set -x, también puedes utilizar:

  • set -e, hace que el script se detenga tan pronto como exista un error
  • set -n, comprueba si hay errores de sintaxis en tu script
  • set -v, activa el modo verbose, que hace que se muestre mucha más información sobre la ejecución.


Última modificación: lunes, 11 de mayo de 2020, 22:13