Programación en BASH - Miscelanea

10 - Miscelanea

Tutorial creado por Mike G. Extraido de: http://www.insflug.org/COMOs/Bash-Prog-Intro-COMO/Bash-Prog-Intro-COMO.html
03 de Enero de 2007

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

5 opiniones

bajo

Creo que deberias elaborar algo nuevo y no solo copiar y pegar de un libro
Una pija

Lastima q copiaste y pegaste...
COpion

Lastima q copiaste y pegaste...
es un asco


n0 hay nd interesante..
he buscado por horas y nd encuentro.. deberían restringir estas páginas tontas..
BIEN

Esta muy bien explicado... me gustó.. encontré la respuesta que quería.

Tutoriales relacionados con 'Programación en BASH'

Este artículo pretende ayudarle a comenzar a programar shell scripts a un nivel básico/intermedio. No... Más »
Este documento describe el protocolo y los métodos a seguir para mantener y participar en... Más »
Si tuviera que buscar un adjetivo para calificar a Sendmail, pensaría en "excesivo". Excesivo puesto... Más »
El siguiente documento deriva del famoso feddi. Como que acompaña a los paquetes del FEddi+bt,... Más »
Debian es el nombre de una organización dedicada al desarrollo y mantenimiento de sistemas operativos... Más »

Autor y licencia de 'Programación en BASH'

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.