Inicio / Wikis / Tutoriales / Programación en BASH - Miscelanea

Programación en BASH - Miscelanea

(1 opiniones)
03 de Enero de 2007
Encriptación

10 - Miscelanea

10.1 Leyendo información del usuario

En muchas ocasiones, puede querer solicitar al usuario alguna información, y existen varias maneras para hacer esto. Ésta es una de ellas:

                #!/bin/bash
                echo Por favor, introduzca su nombre
                read NOMBRE
                echo "¡Hola $NOMBRE!"
        

Como variante, se pueden obtener múltiples valores con read. Este ejemplo debería clarificarlo.

                #!/bin/bash
                echo Por favor, introduzca su nombre y primer apellido
                read NO AP 
                echo "¡Hola $AP, $NO!"
        

10.2 Evaluación aritmética

Pruebe esto en la línea de comandos (o en una shell):

echo 1 + 1

Si esperaba ver '2', quedará desilusionado. ¿Qué hacer si quiere que BASH evalúe unos números? La solución es ésta:

echo $((1+1))

Esto producirá una salida más 'lógica'. Esto se hace para evaluar una expresión aritmética. También puede hacerlo de esta manera:

echo $[1+1]

Si necesita usar fracciones, u otras matemáticas, puede utilizar bc para evaluar expresiones aritméticas.

Si ejecuta "echo $[3/4]" en la línea de comandos, devolverá 0, porque bash sólo utiliza enteros en sus respuestas. Si ejecuta "echo 3/4|bc -l", devolverá 0.75.

10.3 Encontrando el bash

De un mensaje de mike (vea los agradecimientos):

siempre usas #!/bin/bash .. a lo mejor quieres dar un ejemplo

de cómo saber dónde encontrar el bash.

`locate bash' es preferible, pero no todas las máquinas

tienen locate.

`find ./ -name bash' desde el directorio raíz funcionará,

normalmente.

Sitios donde poder buscar:

ls -l /bin/bash

ls -l /sbin/bash

ls -l /usr/local/bin/bash

ls -l /usr/bin/bash

ls -l /usr/sbin/bash

ls -l /usr/local/sbin/bash

(no se me ocurre ningún otro directorio... lo he encontrado

la mayoría de estos sitios en sistemas diferentes).

También puedes probar 'which bash'.

10.4 Obteniendo el valor devuelto por un programa

En bash, el valor de retorno de un programa se guarda en una variable especial llamada $?.

Esto ilustra cómo capturar el valor de retorno de un programa. Supongo que el directorio dada no existe. (Esto también es sugerencia de Mike).

        #!/bin/bash
        cd /dada &> /dev/null
        echo rv: $?
        cd $(pwd) &> /dev/null
        echo rv: $?
        

10.5 Capurando la salida de un comando

Este pequeño script muestra todas las tablas de todas las bases de datos (suponiendo que tenga MySQL instalado). Considere también cambiar el comando 'mysql' para que use un nombre de usuario y clave válidos.

        #!/bin/bash
        DBS=`mysql -uroot  -e"show databases"`
        for b in $DBS ;
        do
                mysql -uroot -e"show tables from $b"
        done
Valora este capítulo: (1 opiniones)
Autor y licencia de 'Programación en BASH - Miscelanea'
Mike G Extraído de: http://www.insflug.org/COMOs/Bash-Prog-Intro-COMO/Bash-Prog-Intro-COMO.html CopyLeft
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Opiniona sobre 'Programación en BASH - Miscelanea' (1)

Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.

Opina sobre este tutorial



* Valoración:
* Nombre:
* Correo electrónico:
* Título:
* Comentario:

Wikis relacionados con 'Programación en BASH - Miscelanea'

Se comenta la creación y el manejo de prompts de terminales en modo texto y... Más »
No conocerás lo que es Linux hasta que no conozcas la consola . La consola... Más »
Muchas veces las tareas en Linux requieren comandos largos y/o parámetros que no siempre son... Más »
Aún cuando actualmente se puede manejar Linux de una manera tan gráfica como Windows, siempre... Más »
Una de las cosas que distinguen la filosofía de Unix es que los diseñadores de... Más »
¿Estás seguro de que deseas eliminar este capítulo?