elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Scripts en BASH
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Scripts en BASH  (Leído 20,657 veces)
-EvilBuffer-

Desconectado Desconectado

Mensajes: 112


/(bb|[^b]{2})/


Ver Perfil WWW
Scripts en BASH
« en: 21 Enero 2005, 09:33 »

Porque no ponene retos o ejemplos de uno que otro script en BASH, bueno yo subire uno que otro, aver si la raza se anima a subir sus retos o ejemplos, este es un pequeño ejemplo para chekar que no haya usuarios tipos root, nota solamente root debe tener 0 0
Código:
#!/bin/bash
# para chekar que no haya usuarios tipo 'root'
awk -F: '{print $1" "$3" "$4 }' /etc/passwd | grep -w 0
este es script puede ser modificado para mejorarlo, como por ejemplo si en la ejecucion del script saliera infiltrado 0 0, podiamos elimiarlo de /etc/passwd


En línea

<< RTFM && STFW >>
situ

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Scripts en BASH
« Respuesta #1 en: 2 Abril 2006, 01:28 »

Buenas les dejo un par de script que hice para el mantenimiento de mi linux y aparte para aprender sobre el lenguaje.
Seguramente tendre algunos codigos de mas, pero bueno estoy aprendiendo sobre el tema.

Whois Customizado by s!tu
Código:
#!/bin/sh
clear
echo -e "\033[1;31mWhois Customizado by s!tu \033[0m";
echo -e "\033[1;33mEscriba la direccion IP: \033[0m";
read IP
echo -e "\033[1;33mSeleccione el server de Whois: \033[0m";
echo -e "0. salir";
echo -e "1. Lacnic";
echo -e "2. Arin";
echo -e "3. Apnic";
echo -e "4. Ripe NCC";
echo -e "5. Afrinic";
echo -e "\033[1;34mOpcion: \033[0m";
read MEN
case $MEN in
0)
exit 1
;;
1)
WH="whois.arin.net"
;;
2)
WH="whois.arin.net"
;;
3)
WH="whois.apnic.net"
;;
4)
WH="whois.ripe.net"
;;
5)
WH="whois.afrinic.net"
;;
*)
exit 1
;;
esac
echo -e "\033[1;32mParceo de resultado: \033[0m";
echo -e "0. salir";
echo -e "1. netname";
echo -e "2. contacto";
echo -e "3. red";
echo -e "4. netname - contacto";
echo -e "5. sin parceo";
echo -e "\033[1;34mOpcion: \033[0m";
TEMP=`whois -h $WH $IP`
RES=`echo -e "\033[1;36mResultado: \033[0m$IP";`
read MENU
case $MENU in
0)
exit 1
;;
1)
echo "$RES"
echo "$TEMP" | grep netname
exit 1
;;
2)
echo "$RES"
echo "$TEMP" | grep "e-mail"
exit 1
;;
3)
echo "$RES"
echo "$TEMP" | grep inetnum
exit 1
;;
4)
echo "$RES"
echo "$TEMP" | grep netname
echo "$TEMP" | grep "e-mail"
exit 1
;;
5)
echo "$RES"
echo "$TEMP"
exit 1
;;
*)
echo -e "Informacion incorrecta"
;;
esac
read


En línea

situ

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Scripts en BASH
« Respuesta #2 en: 2 Abril 2006, 01:30 »

mas codigos.
Este es un soft para usarlo en debian, ubuntu o alguna otra distro que soporte apt-get.

APT-TOOLS
Código:
#!/bin/bash
#Fecha 11-03-2006
#Autor: situ
#Licencia GNU-GPL
#Tomado parte del ubuntusetup de ryan (ubuntu-geek)
echo -e "\033[1;32m----------- Opciones -----------\033[0m";
echo "1 -> Instalar paquetes";
echo "2 -> Ver paquetes instalados";
echo "3 -> Actualizar el sistema";
echo "4 -> Buscar paquete";
echo "5 -> Eliminacion automantica de paquetes viejos";
echo "6 -> Chequear Dependencias";
printf "\033[1;32m\tOpción >> \033[0m";
read PAK
case $PAK in
1)
printf "\033[1;30mNombre del Paquetes a instalar: >>\033[0m";
read PAKN
if [ "$PAKN" = "" ];then
exit 1
else
sudo apt-get install $PAKN
fi
;;
2)
printf "\033[1;30mEscriba aqui el nombre de algun paquete que desea ver si lo tiene isntalado: >> \033[0m";
read PAKN
if [ "$PAKN" = "" ];then
exit 1
else
echo -e "\033[1;30mTiene el/los siguiente/s paquete/s: >>\033[0m";
sudo dpkg -l | grep $PAKN | awk '{print $2}' | nl -s " - "
fi
;;
3)
echo -e "\033[1;30mSe va actualizar el sistema\033[0m";
sudo apt-get upgrade && sudo apt-get dist-upgrade
;;
4)
printf "\033[1;30mNombre del Paquetes a buscar: >> \033[0m";
read PAKB
if [ "$PAKB" = "" ];then
exit 1
else
echo -e "\033[1;30mID ->\tPaquete\t -  Comentario:\033[0m";
apt-cache -v search $PAKB | nl -nrz -w3 -s " -> " | more
busqueda=(`apt-cache search $PAKB | cut -f1 -d " "`)
printf "\033[1;30mID del paquete que va instalar >>\033[0m";
fi
read PAKN
$(PAKN=0)
if [ ! -z "$PAKN" ]; then
echo -e "\033[1;30mInstalando el paquete $PAKN -> \033[0m" ${busqueda[$PAKN-1]};
sudo apt-get install ${busqueda[$PAKN-1]}
fi
;;
5)
echo -e "\033[1;30mSe eliminaran paquetes viejos automaticamente\033[0m";
sudo apt-get autoclean
;;
6)
echo -e "\033[1;30mSe chequearas si hay dependencias corruptas y si las hay se arreglaran\033[0m";
sudo apt-get -f check
;;
*)
exit 1
;;
esac
En línea

situ

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Scripts en BASH
« Respuesta #3 en: 2 Abril 2006, 01:38 »

Estado de mi PC.
Ojo que puede ser que algunas cosas no anden porque muchas veces difieren cosas entre las distros, cualquier cosa dejen el mensaje y lo vemos.

ESTADO DEL LINUX
Código:
#!/bin/sh
UPT=`uptime | awk '{print $1" "$2" "$3}' | sed s/,//g`;
MEMTO=`cat /proc/meminfo  | grep "MemTotal" | awk '{print $2}'`;
ES=`date`;
QUIEN=`whoami`
KER=`uname -r`
MEM=`cat /proc/meminfo  | grep "MemFree" | awk '{print $2}'`
echo -e "\033[1;33mEstado de la PC by s!tu \033[0m";
echo -e "\033[1;32mBienvenido:\033[0m $QUIEN";
echo -e "\033[1;32mHoy es:\033[0m $ES";
echo -e "\033[1;32mUptime:\033[0m $UPT";
echo -e "\033[1;32mMemoria Total $MEMTO kB:\033[0m Memoria Libre: $MEM kB";
echo -e "\033[1;32mVersion del kernel utilizado en el sistema:\033[0m $KER";
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Scripts en BASH
« Respuesta #4 en: 26 Septiembre 2008, 18:59 »

Bueno, este script que hice y deje en el subforo scripting, trata de un sistema que identifica la cantidad de usuarios en el sistema y sus nombres:

Código
  1. #!/usr/bin/bash
  2. # Creado por erik - youareowned@hotmail.es
  3. conectados=`who | cut -f1 -d ' ' | sort -u | wc -l | sed 's/^ *//g'`  
  4. nombres=`who | cut -f1 -d ' ' | uniq | sed 's/^ *//g'`
  5. echo "Usuario(s) conectado(s): $conectados"
  6. echo "Nombre(s): $nombres"
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.802


Ver Perfil
Re: Scripts en BASH
« Respuesta #5 en: 7 Enero 2010, 02:49 »

Otro cortito

Código
  1.  
  2. #!/bin/sh -x
  3.  
  4. function Backup() {
  5.  
  6.  cd $HOME && mysqldump --opt --user=$1 --password=$2 $3 > backup-$(date +%Y+%m+%d).sql
  7.  echo "Backup Realizado y guardado en $HOME bajo el nombre backup-$(date +%Y+%m+%d).sql"
  8.  
  9. }
  10.  
  11. function Usuarios {
  12.  
  13.  w
  14. }
  15.  
  16. while [ "$opcion" != '4' ]; do
  17.  
  18. echo -e "Que desea hacer\n1 - Backup de la DB\n2 - Ver usuarios conectados\n3 - Salir\n"
  19. read opcion
  20.  
  21.  case $opcion in
  22.  1)
  23.  
  24.    echo "Inserta el nombre de usuario, contrasena y DB separado por espacio :: "
  25.    read algo
  26.  
  27.      Backup $algo
  28.  ;;
  29.  2)
  30.  Usuarios
  31.  ;;
  32.  3)
  33.  break
  34.  esac
  35.  
  36. done
  37.  
  38. exit $?
  39.  
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Scripts en BASH
« Respuesta #6 en: 22 Febrero 2010, 06:42 »

@^TiFa^

No le veo utilidad a esta función:

Código:
function Usuarios {
 
  w
}

Directamente podrías usar el comando w y ya.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
^Tifa^


Desconectado Desconectado

Mensajes: 2.802


Ver Perfil
Re: Scripts en BASH
« Respuesta #7 en: 23 Febrero 2010, 13:45 »

Si es cierto... de hecho a la larga podria obviar todas las funciones y colocar cada comando debajo de su respectivo Case.

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con scripts
Ingeniería Inversa
Pinkof 4 2,224 Último mensaje 25 Noviembre 2010, 18:08
por Pinkof
TinyStart (bash)
Scripting
noes1s 0 700 Último mensaje 13 Abril 2011, 20:17
por noes1s
[Bash] Mis scripts
Scripting
leogtz 2 3,884 Último mensaje 18 Abril 2011, 12:23
por JuszR
dos scripts
Scripting
Towandy 6 2,134 Último mensaje 11 Marzo 2012, 10:57
por Eleкtro
[BASH] usar return en bash
Scripting
ithory 2 1,234 Último mensaje 16 Noviembre 2012, 04:38
por -Myx-
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines