Script 01


Versión 02 – No mostrar mensajes del comando id
Estamos ejecutando el comando id para saber si el usaurio existe o no en el sistema, no obstante no nos gusta o no queremos que el comando muestre nada en pantalla, puesto que esta información puede desorientar al usuario de script.

Para evitar mostrar información de un comando que estamos utilizando en una condicional if podemos redirigir la salida a un fichero. De esta forma, no se mostrará en pantalla.

Ahora la salida del comando se redirige a un fichero especial que hace de papelera o agujero negro… todo lo que escribamos ahí, se perderá como lágrimas en la lluvia.
Sin embargo esa línea tiene un pequeño fallo. Solo redirige la salida estándar, no la de errores.

Si hay errores…

Redirigimos la salida estándar y la de errores al fichero /dev/null.

Si ejecutamos de nuevo…
Versión 03 – Si el usuario no existe… créalo!
Vamos a modificar el script de forma que, si el usuario que hemos pasado por parámetro no existe en el sistema, lo creará.
«Si el usuario existe, mostramos información del usuario, el directorio personal del usuario, los permisos de dicho directorio y el resumen de ocupación. Si no, creamos el usuario»


En el cuerpo del else, al igual que en el cuerpo del then, podemos escribir los comandos que queramos.
Vamos a darle un nombre significativo al script…

Ahora vamos a ejecutarlo, como es posible que tengamos que crear usuarios tendremos que ejecutar el script como root.

Porque, como ya sabemos, nunca se utiliza sudo dentro del script.

Si lo volvemos a ejecutar nos mostrará información del usuario, porque ya existe en el sistema.

Versión 4 – Control de parámetro…
Me tienen que pasar el nombre del usuario por parámetro. Teniendo ese dato, nuestro script funciona, pero y si el usuario no pasa ningún parámetro.
Lo ideal sería que «si no me pasan un valor por parámetro, entonces mostramos mensaje de error adecuado y terminamos la ejecución del script con un código de salida de error».
Está claro que tenemos que utilizar un if al inicio del script, antes de intentar usar la variable usuario en nuestro script. ¿Cómo podemos saber si la variable usuario está vacía o no?
Comando test. Consulta ayuda del comando test.

El comando test comprueba la expresión que se le pasa por parámetro. Si la expresión se cumple, devuelve un código de salida o de estado correcto. Si no se cumple, devuelve un código de salida o de estado de error.
Podemos usar test en comando if para realizar comprobaciones entre cadenas de texto, números enteros y tipos de ficheros.







Versión 05 – Comprobando directorio web
Si el usuario existe, aparte de mostrar información del usuario, vamos a comprobar si existe su directorio web. El directorio web de un usuario estará en su directorio personal con el nombre: web.
Si no existe el directorio web del usuario, debemos crearlo y configurarlo para que el usuario sea el propietario del mismo y tenga permisos de control total (lectura y escritura) sobre el directorio. El resto de usuarios no podrá acceder a dicho directorio.



Dejar una respuesta