elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 03:47  

+  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 11,831 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


Pertenezco a Reach


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
#!/usr/bin/bash
# Creado por erik - youareowned@hotmail.es
conectados=`who | cut -f1 -d ' ' | sort -u | wc -l | sed 's/^ *//g'`  
nombres=`who | cut -f1 -d ' ' | uniq | sed 's/^ *//g'`
echo "Usuario(s) conectado(s): $conectados"
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
 
#!/bin/sh -x
 
function Backup() {
 
 cd $HOME && mysqldump --opt --user=$1 --password=$2 $3 > backup-$(date +%Y+%m+%d).sql
 echo "Backup Realizado y guardado en $HOME bajo el nombre backup-$(date +%Y+%m+%d).sql"
 
}
 
function Usuarios {
 
 w
}
 
while [ "$opcion" != '4' ]; do
 
echo -e "Que desea hacer\n1 - Backup de la DB\n2 - Ver usuarios conectados\n3 - Salir\n"
read opcion
 
 case $opcion in
 1)
 
   echo "Inserta el nombre de usuario, contrasena y DB separado por espacio :: "
   read algo
 
     Backup $algo
 ;;
 2)
 Usuarios
 ;;
 3)
 break
 esac
 
done
 
exit $?
 
En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 2.938


/^$/


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 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
^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 1,229 Último mensaje 25 Noviembre 2010, 18:08
por Pinkof
TinyStart (bash)
Scripting
noes1s 0 306 Último mensaje 13 Abril 2011, 20:17
por noes1s
[Bash] Mis scripts
Scripting
Leo Gutiérrez. 2 975 Último mensaje 18 Abril 2011, 12:23
por JuszR
/bin/bash!
GNU/Linux
prometheus48 3 624 Último mensaje 23 Enero 2012, 02:34
por Leo Gutiérrez.
Symlink /bin/sh -> /bin/bash
GNU/Linux
prometheus48 2 345 Último mensaje 27 Enero 2012, 21:40
por vertexSymphony
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines