Menu Shell

Páginas: 5 (1043 palabras) Publicado: 5 de noviembre de 2012
#!/bin/bash

(echo -n 'Inicio de la shell: '; date) >> log
while [ '$opcion' != 8 ]
do
echo ''
echo ' MENU'
echo '------'
echo '1) Saludo'
echo '2) Copiar'
echo '3) Procesos'
echo '4) Directorio temporal'
echo '5) Pais oculto'
echo '6) Submenu log y autores'
echo '7) Ayuda'
echo '8) Salir'
echo ''
read -p 'Elija una opcion: ' opcion
clear
case $opcion in
1) (echo -n 'Opcion1: '; date) >> log
TODAY=$(date +%H%M)
HORA1=0400
HORA2=1300
HORA3=2000
NOMBRE=$(finger $USER | cut -f 8-10 -d " " | grep -v "^from")
echo ' '
if [ $TODAY -ge $HORA1 -a $TODAY -lt $HORA2 ]; then
echo 'Buenos dias'',' $NOMBRE
elif [ $TODAY -ge $HORA2 -a $TODAY -lt $HORA3 ]; then
echo 'Buenas tardes'',' $NOMBRE
elif [ $TODAY -ge $HORA3 -o $TODAY -lt $HORA4 ]; then
echo 'Buenasnoches'',' $NOMBRE
fi
echo ''
echo 'Pulse enter para volver al menu principal'
read intro
clear;;

2) (echo -n 'Opcion 2: '; date) >> log
echo ''
if [ ! -d $HOME/bin ] #Si no existe el directorio lo crea...
then
mkdir $HOME/bin
echo 'Se ha creado...'
fi
# copia de archivos
N=0 # contador de archivos copiados
for ARCH in *
do
if [ -x $ARCH -a -f $ARCH ] # ejecutable y archivo comun (nodirectorio)
then
cp $ARCH $HOME/bin
echo " $ARCH fue copiado a $HOME/bin"
N=`expr $N + 1`
fi
done
if [ $N -eq 0 ]
then
echo "No se copio ningun archivo"
else
echo "Fueron copiados $N archivos"
fi
echo ''
echo 'Pulse enter para volver al menu principal'
read intro
clear;;

3) (echo -n 'Opcion 3: '; date) >> log
echo ''
echo 'Introduzca el usuario'
read usuario
echo ' '
echo'Procesos de' $usuario 'son:'
echo ''
ps -fcu $usuario
echo ''
CUENTA=$(ps -fcu $usuario | cut -f 2 -d " ")
echo ''
#BUCLE
N=0 #contador
for NUMEROS in $CUENTA
do
N=`expr $NUMEROS + $N`
done
echo 'La suma total de PIDs es:' $N
echo ''
echo 'Pulse enter para volver al menu principal'
read intro
clear;;

4) (echo -n 'Opcion 4: '; date) >> log
echo 'Usuarios que tienen algun ficheroen /tmp:'
ls -l /tmp | cut -f 5 -d " " | sort | uniq
echo ''
echo 'Pulse enter para volver al menu principal'
read intro
clear;;

5) (echo -n 'Opcion 5: '; date) >> log
num=11
fact=1
n=$num
while [ $num -ge 1 ] #si es mayor o igual
do
fact=$(expr $fact \* $num)
let num--
done
sign=$(echo $fact | cut -c 1-6) #cifras mas significativas
x=456789
mult=$(expr $sign \* $x)#multiplicacion

#Corte de dos en dos de las 6 cifras mas significativas
corte1=$(echo $mult | cut -c 1-2)
corte2=$(echo $mult | cut -c 3-4)
corte3=$(echo $mult | cut -c 5-6)
corte4=$(echo $mult | cut -c 7-8)
corte5=$(echo $mult | cut -c 9-10)
corte6=$(echo $mult | cut -c 11-12)
#hay que corregir esto, el archivo letras se tiene que copiar con ordenes, no pegarloletra=efhjkolkmGEfgHJigjIkgWdtsKjhDnzmKJBafBcsxJhNgvGFKJbiahglvjjhklILpRnjHgvDtddfgkambdfjnhf
#Sumamos +1 a los 6 cortes hechos, porque empezamos a contar en 0.
s=1
s1=$(expr $corte1 + $s)
s2=$(expr $corte2 + $s)
s3=$(expr $corte3 + $s)
s4=$(expr $corte4 + $s)
s5=$(expr $corte5 + $s)
s6=$(expr $corte6 + $s)
#cortamos con la orden cut
pl=$(echo $letra | cut -c $s1)
sl=$(echo $letra | cut -c $s2)
tl=$(echo $letra |cut -c $s3)
cl=$(echo $letra | cut -c $s4)
ql=$(echo $letra | cut -c $s5)
sxl=$(echo $letra | cut -c $s6)
echo ' '
echo 'El pais oculto es: ' $pl$sl$tl$cl$ql$sxl
echo ''
echo 'Pulse enter para volver al menu principal'
read intro
clear;;

6) (echo -n 'Opcion 6: '; date) >> log
while [ '$opcion_menu' != 4 ]
do
echo ' SUBMENU'
echo '---------'
echo 'A) Ver fichero log'
echo 'B)Borrar fichero log'
echo 'C) Ver autores de la practica'
echo 'D) Salir del Submenu'
echo ' '
read -p 'Elija opcion: ' opcion_menu
clear
case $opcion_menu in
a|A)
cat log
echo ''
echo 'Pulse enter para volver al Submenu'
read intro
clear
;;
b|B)
rm log
echo 'Borrando...'
sleep 2
echo '¡¡¡ Borrado !!!'
echo 'Pulse enter para volver al Submenu'
read intro
clear
;;
c|C)
echo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Shell
  • SHELL
  • Shell
  • Shell
  • Shell
  • Shell
  • Shell
  • shell

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS