Sei sulla pagina 1di 3

Ejemplos de Bash Ac veremos un par de ejemplo de script en bash. En este ejemplo sencillo se pasa como parmetro un dispositivo (ej.

/dev/tty1) y ve rifica si es un dispositivo de tipo carcter (-c). #!/bin/bash if [ -c $1 ]; then echo "Es un dis. de caracter" fi Ejemplo de condicin (if), se le pasan dos parametros que verifica si es menor igua l y (-a) menor que 10. #!/bin/bash valor_producto_1=$1 valor_producto_2=$2 if [ ${valor_producto_1} -le ${valor_producto_2} -a ${valor_producto_1} -le 10 ]; then echo "El producto ingresado es menor o igual al producto2 y menor o igual a 10 " fi En este ejemplo le pasamos como parmetro un directorio, donde obtiene los archivos , directorios y enlaces donde por cada uno los cuenta. #!/bin/bash CANT_ARCHIVO=0 CANT_DIR=0 CANT_ENLACES=0 ( cd $1 for NOMBRES in `ls` do # Verifico si existe y es un archivo if [ -a "${NOMBRES}" ]; then CANT_ARCHIVOS=`expr ${CANT_ARCHIVOS} + 1` fi # Verifico si existe y es un directorio if [ -d "${NOMBRES}" ]; then CANT_DIR=`expr ${CANT_DIR} + 1` fi # Verifico si existe y es un enlace if [ -L "${NOMBRES}" ]; then CANT_ENLACES=`expr ${CANT_ENLACES} + 1` fi done echo "Cantidad de Archivos : ${CANT_ARCHIVOS}" echo "Cantidad de Directorios : ${CANT_DIR}" echo "Cantidad de Enlaces : ${CANT_ENLACES}"

) Un simple bucle (for) que va de 1 a 10 de a 2. #!/bin/bash for i in `seq 1 2 10`; do echo $i done Ejemplo por el cual se pasa un parmetro y se obtiene el numero binario, la funcin es en forma recursiva. #!/bin/bash resultado() { resto=`expr $1 % 2` divi=`expr $1 / 2` if [ $divi -ge 1 ]; then binario=$binario$resto echo "DIVISION : $divi RESTO : $resto" resultado $divi else binario=$binario$resto fi } resultado $1 echo $binario En este ejemplo tenemos un menu principal, y una funcion que se encuentra en otr o archivo. # vi menu.sh #!/bin/bash . ./mi_funciones.sh PS3="Elija las siguientes opciones : " OPCIONES="usuario opcion2 salir opcion3" select opt in $OPCIONES; do case ${opt} in salir) echo "Gracias por usar este programa." exit ;; usuario) agregar ;; esac done # vi mi_funciones.sh #!/bin/bash

function agregar() { echo -n "Nombre de usuario : " read nombre echo -n "Shell : " read shell if [ `grep '^'$nombre':' /etc/passwd echo "El usuario ya existe." else clear useradd -m -s $shell $nombre if [ $? ]; then echo "Bien..." else echo "Incorrecto..." fi fi wc -l` -eq 1 ]; then

echo -n "Desea ingresar otro usuario (S/N) ?" read respuesta while [ $respuesta != 'S' ] && [ $respuesta != 'N' ] do echo -n "Desea ingresar otro usuario (S/N) ?" read respuesta done if [ $respuesta = 'S' ]; then agregar fi }

Potrebbero piacerti anche