9.5.1.- Iniciar un script de consola

Un script de consola es un fichero de texto plano que se crea en un editor de texto. Comienza con con la línea #!/bin/bash, que identifica a la consola que se utiliza para ejecutarlo:

script_ejemplo_1

Los dos primeros caracteres (#!) le indican al kernel que se trata de un script y que utilice el resto de la línea como ruta hacia el programa que va a interpretar el script (se denomina shebang, hashbang, hashpling o poundbang). Los lenguajes de script utilizan una almohadilla (#) para indicar los comentarios, por lo que la utilidad del script ignora esta línea, aunque el kernel no lo haga. /bin/sh es un enlace simbólico a /bin/bash ,aunque puede que apunte a alguna otra consola. Al indicar que el script utiliza /bin/sh ,se garantiza que cualquier sistema Linux tendrá un programa de consola para ejecutar el script, pero si el script utiliza cualquier funcionalidad específica de una consola concreta, tendremos que especificar la consola en cuestión.

Una vez terminemos de escribir el script, tendremos que modificarlo para que se pueda ejecutar utilizando el comando chmod, junto con la opción +x para añadir permisos de ejecución, probablemente junto a a para añadir estos permisos a todos los usuarios. Por ejemplo, para que el fichero my_script.sh sea ejecutable escribiremos lo siguiente:

chmod_ejemplo_1

Después ejecutaremos el script escribiendo su nombre precedido de ./ para indicar que se ejecute el script en el directorio actual en lugar de buscar en las rutas definidas por PATH.

Si no logramos ejecutarlo, probaremos a iniciar el programa de la consola seguido del nombre del script. Si este script se ejecuta con regularidad, es recomendable moverlo a un lugar que esté definido en la variable PATH. Una vez hecho esto, no será necesario escribir la ruta completa al script o cambiarse al directorio donde esté alojado. Definir los bits SUID o SGID de un script es potencialmente peligroso, sobre todo si el propietario del script es root, por lo que deberemos ser muy prudentes al aplicar estos bits.

tux_maestro_derSe pueden definir los bits SUID o SGID de un script  (consulte la sección Controlar el acceso de un fichero para más información), aunque es algo potencialmente peligroso, particularmente si el propietario del script es root, por las razones que se describen en la sección cuatro. Por lo tanto, debería ser muy prudente al aplicar el bit SUID a los scripts.

Anuncios