educación, informática y demás

Shell scripts

Problemas frecuentes

En esta entrada vamos a repasar algunos de los problemas habituales con los que nos podemos encontrar a la hora de desarrollar scripts para la shell bash.

Nombre de las funciones

El nombre de una función, al igual que el nombre de un script, debe ser significativo e indicar qué es lo que hace claramente.

Para ello se suele emplear un verbo, habitualmente en infinitivo, seguido de algún sustantivo que indica la acción a realizar por la función, como puede ser que hacer con un dato o que comprobación realizar.

Algunos ejemplos pueden ser: addUser, deleteUser, checkGroup, crearUsuario, borrarUsuario, comprobarDirectorios, etc.

También podemos usar otro tiempo verbal: creaUsuario, borraUsuario, compruebaDirectorios, etc.

De la misma forma, podríamos indicar el resultado de la acción o qué es lo que esperamos de la función: nuevoUsuario, nuevoGrupo, esNumero, numeroCorrecto, etc.

Cualquiera de estas opciones son buenas alternativas para llamar a una función.

Algunos ejemplos de código

Invocar funciones antes de declararlas

Tan solo podemos invocar una función si ya se ha declarado previamente. Si intentamos llamar una función que el interprete todavía no conoce no funcionará.

El interprete de comandos llega a la línea 8 y trata de ejecutar la función error que todavía no conoce. Esta función está declarada en la línea 12, por tanto todavía no ha llegado hasta ella y no la conoce.

Si pasamos un parámetro, la ejecución de la línea 17 de la llamada a la función error si funcionará, porque para llegar a la línea 17, el interprete ha pasado por la línea 12 y conoce a la función error. Todo esto tiene que ver con el flujo de ejecución del script.

Sin embargo, si la llamada está dentro de una función y no se invoca la función origen antes de haber leído la función destino, bash ejecutará el código correctamente.

Dejar una respuesta