|
1 2 3 4 5 6 |
#!/bin/bash while [ "$#" -gt "0" ] do echo "\$1 is $1" shift done |
|
1 2 3 4 5 6 |
#!/bin/bash while [ "$#" -gt "0" ] do echo "\$1 is $1" shift done |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#!/bin/sh adduser() { USER=$1 PASSWD=$2 shift ; shift COMMENTS=$@ useradd -c "${COMMENTS}" $USER if [ "$?" -ne "0" ]; then echo "Useradd failed" return 1 fi passwd $USER $PASSWD if [ "$?" -ne "0" ]; then echo "Setting password failed" return 2 fi echo "Added user $USER ($COMMENTS) with pass $PASSWORD" } ## Main script starts here adduser bob letmein Bob Holness from Blockbusters if [ "$?" -eq "1" ]; then echo "Something went wrong with useradd" elif [ "$?" -eq "2" ]; then echo "Something went wrong with passwd" else echo "Bob Holness added to the system." fi |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#!/bin/ksh # Programa que pide al usuario que introduzca una cadena de caracteres y # la muestra, por pantalla del derecho y del reves. # echo "Introduce una cadena: \c" read NOMBRE LONGITUD=${#NOMBRE} while [ $LONGITUD -gt 0 ] do NOMBREALREVES="$NOMBREALREVES"`echo $NOMBRE | cut -c$LONGITUD` LONGITUD=`expr $LONGITUD - 1` # ((LONGITUD=LONGITUD+1)) seria mejor done echo "\n$NOMBRE\n$NOMBREALREVES" |
Script para Korn Shell (ksh). Permite ingresar un número en la misma linea y además valida si el ingreso es un número.-
|
1 2 3 4 5 6 7 8 9 10 11 |
#!/bin/ksh echo ## entrar un numero en la misma linea que la pregunta (\c). echo "Dime un nzmero: \c " read NUM ## Y verificar que sea verdaderamente un numero if [[ $NUM = ?([+-])+([0-9]) ]]; then echo "Es un numero" else echo "No es un numero" fi |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
#!/bin/bash # Script para descomponer una ruta completa a un archivo o directorio, obteniendo # el nombre de archivo y extensión (si existen) y ruta hasta los mismos for RutaCompleta in $1 do # Comenzamos extrayendo la parte derecha desde el ultimo caracter "/", es decir, el archivo NombreArchivo="${RutaCompleta##*/}" # Longitud de la ruta es el total de caracteres menos el largo del nombre de archivo LargoRuta="${#RutaCompleta} - ${#NombreArchivo}" # Extraermos la ruta desde el caracter 0 hasta el caracter final de largo de ruta RutaSola="${RutaCompleta:0:$LargoRuta}" # Lo siguiente es extraer nombre de archivo NombreSolo="${NombreArchivo%.[^.]*}" # Extension se obtiene eliminando del nombre completo el nombre mas el punto Extension="${NombreArchivo:${#NombreSolo} + 1}" # Las 2 lineas anteriores fallan si no hay extension por lo que es necesario comprobar que no # se de el caso de que haya extension pero no nombre ya que en ese caso la ext seria el nombre if [[ -z "$NombreSolo" && -n "$Extension" ]]; then NombreSolo=".$Extension" Extension="" fi done # Este es el resultado del script echo echo "Este es el resultado del script:" echo echo La ruta completa es: echo $RutaCompleta echo echo "Ruta.........: \"$RutaSola\"" echo "Nombre.......: \"$NombreSolo\"" echo "Extension....: \"$Extension\"" echo |