Scripts
Transcripción
Scripts
Scripts, Portafolio 1 [Ambientes Unix] 2008-2 Universidad Autónoma de Baja California Facultad de Ciencias Químicas e Ingeniería Ingeniería en Computación Alumno: Murillo Márquez Javier Humberto Matricula: 002/70452 Scripts del Portafolio #1 Javier Murillo UABC FCQeI Scripts, Portafolio 1 [Ambientes Unix] 2008-2 # Script para Sumar 2 Numeros. read -p "teclee un dato" num1 read -p "teclee otro dato" num2 resp=`expr $num1 + num2` echo la suma de $num1 + $num2 es $resp #Script que lee un nombre que y lo muestra en pantalla. echo escribe tu nombre read nom echo tu nombre es $nom #Script que imprime los números del 1 al 10 usando UNTIL. until test $x –eq 10 do X=`expr $x + 1` echo $x done # Script para Archivos, Busqueda, Ocultos, Respaldo, Salir. function menu1() { clear echo "MENU PRINCICPAL" echo " " echo "[1] Archivos" echo "[2] Busqueda" echo "[3] Ocultos" echo "[4] Respaldo" echo "[6] Salir" echo " " } function menu11() { clear echo ".../Archivos/" echo " " echo " [1] Ordinarios" echo " [2] Directorios" echo " [3] Regresar" echo " " } function menu111() { clear echo ".../Archivos/Ordinarios/" echo " " echo " [1] Copiar" echo " [2] Crear" echo " [3] Eliminar" echo " [4] Mover" echo " [5] Regresar" echo " " Javier Murillo UABC FCQeI Scripts, Portafolio 1 [Ambientes Unix] 2008-2 } bandera=0 function main(bandera) { while [ "$OPCION" != 6 ] do menu1 read -p "Ingrese una opcion: " OPCION case $OPCION in 1) clear menu11 read -p "Ingrese Opcion: " OPCION case $OPCION in 1) clear menu111 read -p "Ingrese Opcion: " OPCION case $OPCION in 1) echo "Copiar" read -p "nombre de archivo: " nom cp $nom .;; 2) echo "Crear" read -p "nombre de archivo: " nom cat > $nom;; 3) clear echo "Eliminar" echo " " read -p "archivo a eliminar: " nom rm -rf $nom;; 4) clear echo "Mover" echo " " read -p "archivo a mover: " nom read -p "directorio destino: " dir mv $nom /$dir/;; 5) main;; esac esac echo "el resultado es: $res";; 2) read -p "ingrese primer numero: " num1 read -p "ingrese otro numero: " num2 res=`expr $num1 - $num2` echo "el resultado es: $res";; 3) read -p "ingrese primer numero: " num1 read -p "ingrese otro numero: " num2 res=`expr $num1 \* $num2` echo "el resultado es: $res";; 4) read -p "ingrese primer numero: " num1 read -p "ingrese otro numero: " num2 res=`expr $num1 / $num2` echo "el resultaDo es: $res" ;; 5) echo "opcion invalida, intente de nuevo" ;; esac done exit 0 } main Javier Murillo UABC FCQeI Scripts, Portafolio 1 [Ambientes Unix] 2008-2 # Script para Imprimir fecha. dia=`date | cut -c 1-3` case $dia in Mon|Tue|Wed|Thu|Fri) echo diA de clases;; Sat|Sun) echo fin de semana;; esac #Script para imprimir y contar tiempos de ejecución de los ciclos. function saludo ( ) { echo “hola mundo la variable contador vale: $1)” } counter=1; while test $counter –le 10 do saludo $counter contador=`expr $counter + 1` done # Script para buscar Directorios y Crearlos cd $1 read -p "directorio a buscar: " dir #if test -d $dir # then ls -1 $dir # # else mkdir $dir cd $dir #fi cuenta=0 for arch in * do echo echo -n $arch #cuenta=`expr $cuenta + 1` #++++ otra manera de hacer las operaciones +++++++ #cuenta=`expr $cuenta + 1` if test -f $arch then let cuenta=$cuenta+1 fi #cuenta=$(($cuenta + 1)) #cuenta=$[$cuenta + 1] done echo \n el total de archivos en el directorio `pwd` son $cuenta # Script para Buscar Directorios y Crearlos con TEST read -p "directorio a buscar" dir if test -d $dir then ls -l $dir else mkdir $dir fi Javier Murillo UABC FCQeI Scripts, Portafolio 1 [Ambientes Unix] 2008-2 # Script de ejemplo de uso de SELECT PS3=" Seleccionar Opcion: " select i in directorio usuarios salir do case $i in directorio|Directorio) ls -l;; usuarios)who;; salir|Salir) exit 0;; *)echo error exit 1;; esac done # Script para buscar archivos o crearlos (usando TEST). read -p "archvivo a buscar" arch test -f $arch echo $? if test -f $arch then cat $arch else echo $arch no exsite fi # Script para obtener factorial de número. read -p "inserta numero: " num acum=1 for ((i=1; i<=$num; i++)) do let acum=$acum*$i done echo El factorial es $num es $acum # Script para detectar la tecla que se presiona. read -p "ingrese un caracter: " tecla case $tecla in [0-9]) echo Usted ingreso el numero $tecla;; [a-zA-Z])echo Usted ingreso la letra $tecla;; *) echo Usted ingreso el siguiente caracter especial $tecla;; esac # Script que identifica fin de semana o día de clases. dia=`date | cut -c 1-3` if [$dia = sat] || [$dia = sun] then echo fin de semana else echo dia de clases fi #Script que muestra fecha y los usuarios conectados al sistema echo ‘date %a’ finger |cut –c 1-20 Javier Murillo UABC FCQeI Scripts, Portafolio 1 [Ambientes Unix] 2008-2 # Script que identifica número impar o par. read -p "escriba numero" num if [ `expr $num % 2` -eq 0 ] then echo el numero $num es impar else echo el numero $num es par fi # Script que captura el dia de la semana y muestra un mensaje. read -p "teclee un dia de la semana: " dia dia1=`echo $dia | tr [:upper:] [:lower:]` case $dia1 lunes) echo primer dia de clases ;; martes) echo pizza 2 x 1;; miercoles) echo cine;; jueves) echo smash;; viernes) echo chez;; x) ;; *) echo eso no es un dia;; esac exit 0 #Script para sumar los archivos de un directorio. result=0 total=0 for result in $(ls – l |grep^ -|cut –c 39-42) do total=`expr $total + $result` echo $result $ total done echo total = $total # Script que identifica que número es mayor. read -p "escriba un numero" num1 read -p "escria otro numero" num2 if test $num1 -eq $num2 then echo $num1 es igual que $num2 else if test $num1 -lt $num2 then echo $num1 es menor que $num2 else echo $num1 es mayor que $num2 fi fi # Script para manejar archivos, copiar, mover, crear, eliminar y buscar, con uso de SELECT. PS3=opcion echo selecciona() { select opcion do case in opcion archivos) clear; PS3=opcion selecciona ordinarios directorios;; ordinarios) Javier Murillo UABC FCQeI Scripts, Portafolio 1 [Ambientes Unix] 2008-2 clear; PS3=opcion; selecciona copiar crear eliminar mover;; copiar) echo copiando; break;; crear) echo creando; break;; esac done } selecciona archivos busqueda usuarios exit 0 # Script para realizar sumas, restas, multiplicaciones y cocientes de dos números, usando WHILE. function menu1() { clear echo "[1] Sumar" echo "[2] Restar" echo "[3] Multiplicar" echo "[4] Dividir" echo "[5] Salir" } while [ "$OPCION" != 5 ] do menu read -p "Ingrese una opcion: " OPCION case $OPCION in 1) read -p "ingrese primer numero: " num1 read -p "ingrese otro numero: " num2 res=`expr $num1 + $num2` echo "el resultado es: $res";; 2) read -p "ingrese primer numero: " num1 read -p "ingrese otro numero: " num2 res=`expr $num1 - $num2` echo "el resultado es: $res";; 3) read -p "ingrese primer numero: " num1 read -p "ingrese otro numero: " num2 res=`expr $num1 \* $num2` echo "el resultado es: $res";; 4) read -p "ingrese primer numero: " num1 read -p "ingrese otro numero: " num2 res=`expr $num1 / $num2` echo "el resultaDo es: $res" ;; 5) echo "opcion invalida, intente de nuevo" ;; esac done exit 0 # Script para realizar sumas, restas, multiplicaciones y cocientes de dos números, usando CASE. function menu(){ clear echo "[1] Sumar" echo "[2] Restar" echo "[3] Multiplicar" echo "[4] Dividir" echo "[x] Salir" } function datos(){ Javier Murillo UABC FCQeI Scripts, Portafolio 1 [Ambientes Unix] 2008-2 read -p "teclee un numero: " d1 read -p "teclee otro numero: " d2 } menu read -p "escriba una opcion: " op case $op in 1) datos res=`expr $d1 + $d2` echo "Resultado" $res;; 2) datos res=`expr $d1 - $d2` echo "Resultado" $res;; 3) datos res=`expr $d1 \* $d2` echo "Resultado" $res;; 4) datos res=`expr $d1 / $d2` echo "Resultado" $res;; x);; esac exit 0 # Script para ver lista de archivos, lista detallada, contar palabras, enviar mensajes a usuarios, y ver usuarios conectados. PS3=" Seleccionar Opcion: " select i in Archivos arch usuarios salir do case $i in Archivos) select j in lista estructura do case $j in lista)ls -l;; estructura) ls -r break;; *)echo ERROR DIRECTORIO!! exit 1;; esac done;; arch) select j in contar ejecutable do case $j in contar) read -p "nombre de archivo: " archivo echo Coniente `archivo wc -w` palabras;; ejectuble) read -p "nombre de archivo: " archivo echo Se ha cambiado a ejecutable $archivo;; *) echo ERROR ARCH!!! exit 1;; esac done;; usuarios) select j in mensaje online do case $j in mensaje) read -p "escribe tu msj :" msj echo `write $msj`;; online) finger;; *)echo ERROR USUAROS!!! exit 1;; esac done;; salir) exit 0;; *)echo ERROR GENERAL!! exit 1;; esac done Javier Murillo UABC FCQeI Scripts, Portafolio 1 [Ambientes Unix] 2008-2 # Script para convertir archivos a ejecutables. read -p "archivo a verificar" arch if test -x $arch then ls -lr $arch else chmod +x $arch fi #Script para identificar los archivos dentro del directorio HOME cd /home echo echo DIRECTORIOS ENCONTRADOS: for arch in * do echo -n $arch echo if [ -d $arch ] then echo -n $arch cuenta=`expr $cuenta + 1` fi done echo echo el directorio home tiene $cuenta directorios internos cd # Script que verifica la opción presionada, mediante el uso de SELECT. PS3=opcion echo selecciona() { select opcion do echo "Selecciono echo break $opcion" done } selecciona a b c d e exit 0 // Programa con extensión .C para imprimir Hola Mundo. #include <stdio.h> main() { printf("\n\nhola Mundo\n\n"); } // Programa con extensión .C para elevar un número X a una potencia Y. #include <math.h> #include <curses.h> main() Javier Murillo UABC FCQeI Scripts, Portafolio 1 [Ambientes Unix] 2008-2 { system("clear"); float x,y; printf("programa para elevar un numero a una potencia x/n"); printf("el valor del numero"); scanf("%f", &x); printf("la potencia es: "); scanf("%f", &y); printf("x^y es %3f", pow((double)x, (double)y)); } // Programa con extensión .C para obtener el Absoluto de un numero complejo (Con uso de estructuras). #include <curses.h> #include <math.h> main() { struct complejos{ int real,imaginario,resultado; }a,b; system("clear"); scanf("\nIntroduce el numero Real : %d",a.real); scanf("\nIntroduce el numero Imaginario: %d",a.imaginario); printf("\nEl valor absoluto es: %d", sqrt(a.real*a.real+a.imaginario*a.imaginario)); } Javier Murillo UABC FCQeI