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

Documentos relacionados