BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

[Propuesta] Publicacion de scripts, fuentes, ...

MaX

Hablamos bastante del software libre que hacen los demas. ¿Que tal postear algo nuestro?

A falta de un foro de programacion, creo q el mas adecuado para hacerlo es este.

Podriamos postear cualquier tipo de trabajo, scripts de configuracion, programas sencillos (y no tan sencillos), ... cualquier cosa q veamos q pueda ser medio-interesante.

Para empezar (a ver si os gusta la idea), empiezo con un generador de thumbnails en PHP (esta sin terminar, pero el esqueleto principal si esta hecho).

Si quereis, podeis verlo pulsando aqui.

Saludos!

Ed: Parte de la idea tb es q recibamos criticas constructivas para mejorar nuestro codigo ;)

Este tema está cerrado a nuevas respuestas. Abre un nuevo tema para retomar la conversación.
ruidoLINUX

No se nada de programacion pero la idea es muy interesante incluso para los que no sabemos, algo podriamos aprender y seria una forma divertida de compartir conocimientos. ¡Adelante!

undertow

en la seccion de docs tienes el qie hice para resetear el router :P

🗨️ 4
Shark

Y el de generar los sensores ;) y unos cuantos de mi raid (pero estos ultimos no vienen a cuento).

Tengo un colega q usa mencoder (o era transcode?) para programar grabaciones al estilo video,... ya le pediré los ficherillos (está de exámenes por lo q no los tendré ya)

🗨️ 2
MaX

Aunq tuyo esta tambien el ocr812 manager por ahi :)

🗨️ 1
Shark
Stendall1

pero antes de postear un par de los mios, me gustaria que me aclaraseis donde hay que postearlos, ¿aqui mismo o en la seccion docs?.

Un saludo.

🗨️ 20
Shark

Yo sugeriría (repito,... es una sugerencia) postearlos por aqui, comentarlos en publico y luego pasarlos a docs.

Por cierto el post de stendall sobre los directorios podría ser interesante pasarlo a doc (si a stendall no le parece mal).

🗨️ 11
Stendall1

Si crees que merece la pena, por mi encantado, en lo que a mi respecta, todo lo que posteo en el foro es GPL :).

Lo unico, ¿no crees que haria falta pulirlo?, o por lo menos, ver si alguien le encuentra alguna pega, fallo, o cree que falta algo para completarlo.

Un saludo.

🗨️ 10
Baudelaire

Respecto al post sobre los directorio me pareciò no ver /opt
yo lo utilizo para software "opcional" ,(está presente debido al FHS pero sin contenidos por defecto)

Mañana le echaremos un vistazito.
Saludos.

🗨️ 9
anthrax
🗨️ 1
Shark
🗨️ 4
BocaDePez
BocaDePez
🗨️ 1
MaX

mejor postearlas primero aqui, y luego ya se ve si se pasa a docs.

Mi idea era tb darnos consejos entre nosotros.

Por ejemplo, que os parece en el mio lo de poner

$secure = '12345'; // This is your password to generate and delete thumbnails

en el mismo codigo del script (es decir, si es minimamnt seguro, si hay otras opciones q no compliquen mucho el script..., cosas de esas)

Saludos!

🗨️ 7
Stendall1

Por mi perfecto, es que no sabia como suelen ir estas cuestiones.
En cuanto a lo de tu script, no estoy muy puesto en el tema de seguridad desde el punto de vista del php, creo que una solucion seria en vez de guardar el password, cuando el usuario utilice el password por primera vez, guardar un hash no reversible del password o un crc, md5 etc, y luego contrastar el hash que tenemos guardado, con el que genere el propio php cuando se lo pida al usuario, asi aunque alguien consiguiese leer la variable que guarda el hash o crc por algun medio, no podria logearse, administrar el programa etc...

Un saludo.

P.D.
Otra cosa, ¿considerais mejor postear aqui directamente los scripts, o seria preferible simplemente poner un link a donde esté, una pagina web gratis etc.?

🗨️ 6
MaX

pq asi no quedan post interminables de codigo :)

Tomo nota del consejo! thx.

🗨️ 1
DrMuehehe

¡Nombres! ¡nombres! ¡quiero nombres!

Jejejejejeje. :-P

🗨️ 3
Stendall1

UDP Flood

Es el primer script que hize para Linux, le programe por que necesitaba poder mandar paquetes a una maquina remota a traves de una vpn, pero falseando el origen del paquete, lo use para poder engañar a algunos juegos que no tenian soporte de juego por internet, pero si por lan, lo que ocurria es que el paquete de broadcast buscando jugadores no pasaba a traves de la vpn por ser ppp y esta fue la primera solucion que encontré.

El script se puede usar para generar trafico, falseando la ip de origen, e incrementando los puertos tanto de origen como de destino en el orden que se quiera y con los incrementos de puerto que se quiera, se puede cambiar el numero de paquetes udp que se mandan por segundo, y alguna cosa mas.

Tiene algun fallo tonto creo recordar, si alguien ve que hace algo en un orden que no debiera, que me lo diga y lo corrijo.

Espero vuestras criticas.

🗨️ 6
Psycosis

Bueno, pues aqui copio uno que no es mio, sino de un forero del cual creo que efectua grandes trabajos.

Es para grabar CD's:

#!/bin/bash
#############################################################
# #
# Por cortesia del ..sR. aDiKtO.. #
# #
#############################################################
# -- Declaracion de constantes --
TITULO="..aDiKcIoN.."
# -- Inicializacion de variables --
SALIR="no"
VOLVER="no"
SECCION=""
ALTO_DIALOG="7"
ANCHO_DIALOG="30"
ALTO_MENU="21"
ANCHO_MENU="62"
ANCHO="78"
ALTO="24"
MSG=" \n\t\t\t\033[40m\033[37m Cortesia del\033[40m\033[1;37m ..sR. aDiKtO.. \033[0m\n"

#------------------------------------------------------------------------
#-------------------------- MENU MUSICA ---------------------------------
#------------------------------------------------------------------------

function MUSICA () {
VOLVER="no";SALIR="no";SECCION="Musica"
dialog --clear --title "$TITULO" \
--menu " \n\
Elige una opción:" "14" "$ANCHO_MENU" "6" \
"Copiar CD" "Leer un cd entero y luego grabarlo" \
"Leer canciones" "Eliges las canciones k kieres grabar" \
"Grabar" "Grabar canciones k tienes en el hd" 2> /tmp/menu.tmp.$$

retval=$?
opcion=`cat /tmp/menu.tmp.$$`
rm -f /tmp/menu.tmp.$$
#----------------------------------------------------------------------------------------------------------
case $retval in
0)case $opcion in
'Copiar CD') dialog --title "$TITULO" --msgbox "\nIntroduzca el CD k kieres copiar y pulse " "$ALTO_DIALOG" "$ANCHO_DIALOG"
mkdir $HOME/.temp 2>/dev/null
cd $HOME/.temp
if cdda2wav -B -D $GRAB -s -x
then
sleep 1
dialog --msgbox "Introduzca el CD virgen y pulse " "$ALTO_DIALOG" "$ANCHO_DIALOG"
sleep 1
if cdrecord -v speed=$VEL dev=$DEV -pad -audio *.wav
then
sleep 1
else
dialog --msgbox "ERROR: No se ha podido grabar" "$ALTO_DIALOG" "$ANCHO_DIALOG"
fi
else
dialog --msgbox "ERROR: No se ha podido leer ningun CD" "$ALTO_DIALOG" "$ANCHO_DIALOG"
fi
cd
rm -rf $HOME/.temp 2>/dev/null
;;
#----------------------------------------------------------------------------------------------------------
'Leer canciones')dialog --title "$TITULO" --msgbox "\nAun no está esta función" "$ALTO_DIALOG" "$ANCHO_DIALOG"
;;
#----------------------------------------------------------------------------------------------------------
'Grabar')dialog --title "$TITULO" --msgbox "\nAun no está esta función" "$ALTO_DIALOG" "$ANCHO_DIALOG"

;;
'Volver') VOLVER="si"
;;
'Salir') VOLVER="si";SALIR="si"
;;
esac
;;
1)VOLVER="si";;
255) SALIR="si"
esac
}

#------------------------------------------------------------------------
#-------------------------- MENU DATOS ----------------------------------
#------------------------------------------------------------------------

function DATOS () {
VOLVER="no";SALIR="no";SECCION="datos"
dialog --clear --title "$TITULO" \
--menu "\nYa sabes de k va esto, eliges una opcion y pulsas "\
"10" "63" "2" \
"CDrom" "Leer el CD y luego grabarlo"\
"Disco Duro" "Grabar archivos del disco duro" 2> /tmp/menu.exp.tmp.$$

retval=$?
opcion=`cat /tmp/menu.exp.tmp.$$`
rm -f /tmp/menu.exp.tmp.$$

case $retval in
0)case $opcion in
#----------------------------------------------------------------------------------------------------------
'CDrom') dialog --title "$TITULO" --msgbox "\n Intruzca el CD k kieres grabar y pulsa " "6" "45"
if dd if=$GRAB of=/tmp/imagen.iso &>/dev/null
then
dialog --title "$TITULO" --msgbox "\n El CD ya se ha leido, introduzca ahora el CD virgen y pulse " "8" "45"
sleep 1
if cdrecord -v speed=$VEL dev=$DEV -eject /tmp/imagen.iso 2>/dev/null
then
dialog --title "$TITULO" --menu "\nImagen grabada perfetamente" "10" "63" "1" "Eliminar la imagen de tu hd (/tmp/imagen.iso)" "" >/tmp/menu.tmp.$$
retval=$?
opcion=`cat /tmp/menu.tmp.$$`
rm -f /tmp/menu.tmp.$$
case $retval in
0)case $opcion in
'Eliminar la imagen de tu hd (/tmp/imagen.iso)') rm -f /tmp/imagen.iso 2>/dev/null
dialog --title "$TITULO" --msgbox "\n Imagen eliminada" "8" "40"
;;
esac ;;
1)VOLVER="si";;
255)VOLVER="si";SALIR="si";;
esac
VOLVER="si"
else
dialog --title "$TITULO" --msgbox "\n ERROR: El CD no se ha grabado" "6" "35"
fi
else
dialog --title "$TITULO" --msgbox "\n ERROR: El CD no se ha leido" "6" "33"
fi
;;
#----------------------------------------------------------------------------------------------------------
'Disco Duro')
VOLVER="no";SALIR="no"

function seleccion ()
{
cd /
echo >/tmp/pos
url=$(echo "/")
opc = "y"
until test $opc = n 2>/dev/null
do
ls > /tmp/adikcion
echo -e "cd $url" > /tmp/adk
echo -e "dialog --title \"$TITULO\" --menu \"\\nIndica k archivo/s kieres grabar/añadir:\\n\\n\" \"20\" \"50\" \"10\" \\" >> /tmp/adk
aux=$(awk '{print "\""$1"\"" "\t\t\t" "\"" "\""}' /tmp/adikcion)
echo $aux "2> /tmp/menu.exp.tmp.\$\$" >> /tmp/adk
echo -e "retval=\$?" >> /tmp/adk
echo -e "opcion=\`cat /tmp/menu.exp.tmp.\$\$\`" >> /tmp/adk
echo -e "rm -f /tmp/menu.exp.tmp.\$\$" >> /tmp/adk
echo -e "case \$retval in" >> /tmp/adk
echo -e "0)case \$opcion in" >> /tmp/adk
awk '{printf "\047"$1"\047"")" " cd " "\""$1"\"" "\n" ";;""\n"}' /tmp/adikcion >> /tmp/adk
echo -e "esac \n ;; \n 1) echo si > /tmp/pos ;; \n 255) echo si > /tmp/pos ;; \nesac\nurl=\$(pwd)\necho \$url > /tmp/ru\necho \$opcion > /tmp/ar" >> /tmp/adk
chmod 777 /tmp/adk
/tmp/adk 2>/dev/null
url=$(more /tmp/ru)
pwd=$(pwd)
pos=$(more /tmp/pos 2>/dev/null)
if test "$pos" = "si"
then
if test $url = "/"
then
VOLVER="si"
opc=$(echo n)
break
else
cd ..
echo > /tmp/pos
url=$(pwd)
fi
else
if test $url != $pwd
then
cd $url 2>/dev/null
else
opc=$(echo n)
fi
fi
done
aux=$(more /tmp/ar)
echo $url/$aux > /tmp/ar

}

mkdir $HOME/.adk 2>/dev/null
cd $HOME/.adk

function MOVER ()
{
cd $HOME/.adk
for i in *
do
direc=$(cat /tmp/archi | grep $i 2>/dev/null)
mv $i $direc 2>/dev/null
done
rm /tmp/archi 2>/dev/null
cd
}

#Bucle para elegir todos los archivos k kieres, y moverlos a $HOME/.adk, la ubicacion donde estaban se guarda en /tmp/archi
#opc=$(echo n)
until test $opc = n 2>/dev/null
do
seleccion
cd $HOME/.adk 2>/dev/null
cat /tmp/ar >> /tmp/archi 2>/dev/null
direc=$(cat /tmp/ar 2>/dev/null)
mv $direc ./ 2>/dev/null
done

# Comprobacion del tamaño de lo k kieres grabar

du -m $HOME/.adk > /tmp/.tam
tam=$(awk '{print $1}' /tmp/.tam)
rm /tmp/.tam
if test $tam -le $TAM
then
dialog --msgbox "Introduzca un CD virgen y pulse " "7" "40"
rm /tmp/adikcion 2>/dev/null
rm /tmp/adk 2>/dev/null
rm /tmp/ru 2>/dev/null
rm /tmp/menu.exp.tmp.** 2>/dev/null
rm /tmp/ar 2>/dev/null
rm /tmp/pos 2>/dev/null
cd $HOME/.adk &>/dev/null
if mkisofs -R -T -J -o /tmp/adikto.iso *
then
if cdrecord dev=$DEV speed=$VEL -v -eject /tmp/adikto.iso
then
sleep 1
rm -rf /tmp/adikto.iso
MOVER
else
sleep 1
dialog --title "$TITULO" --msgbox "ERROR: No se ha podido grabar la imagen" "7" "40"
MOVER
break
fi
else
dialog --title "$TITULO" --msgbox "ERROR: No tienes instalado mkisofs" "7" "40"
MOVER
fi
else
dialog --title "$TITULO" --msgbox "ERROR: La imagen es demasiado grande" "7" "40"
MOVER
fi
MOVER
VOLVER="si"
rm -rf $HOME/.adk &>/dev/null
rm -f /tmp/ar &>/dev/null
rm -f /tmp/archi &>/dev/null
;;
esac ;;
1)VOLVER="si"
MOVER
;;
255)VOLVER="si";SALIR="si"
MOVER
;;
esac
}

#------------------------------------------------------------------------
#-------------------------- MENU ISO ------------------------------------
#------------------------------------------------------------------------

function ISO () {
VOLVER="no";SALIR="no"
SECCION="Iso"
function Navegar () {
cd /
url=$(echo "/")
opc = "y"
until test $opc = n 2>/dev/null
do
ls > /tmp/adikcion
echo -e "cd $url" > /tmp/adk
echo -e "dialog --title \"$TITULO\" --menu \"\\nIndike donde esta la ISO:\\n\\n\" \"20\" \"50\" \"10\" \\" >> /tmp/adk
aux=$(awk '{print "\""$1"\"" "\t\t\t" "\"" "\""}' /tmp/adikcion)
echo $aux "2> /tmp/menu.exp.tmp.\$\$" >> /tmp/adk
echo -e "retval=\$?" >> /tmp/adk
echo -e "opcion=\`cat /tmp/menu.exp.tmp.\$\$\`" >> /tmp/adk
echo -e "rm -f /tmp/menu.exp.tmp.\$\$" >> /tmp/adk
echo -e "case \$retval in" >> /tmp/adk
echo -e "0)case \$opcion in" >> /tmp/adk
awk '{printf "\047"$1"\047"")" " cd " $1 "\n" ";;""\n"}' /tmp/adikcion >> /tmp/adk
echo -e "esac \n ;; \n 1) echo si > /tmp/pos ;; \n 255) echo si > /tmp/pos ;; \nesac\nurl=\$(pwd)\necho \$url > /tmp/ru\necho \$opcion > /tmp/ar" >> /tmp/adk
chmod 777 /tmp/adk
/tmp/adk 2>/dev/null
url=$(more /tmp/ru 2>/dev/null)
pwd=$(pwd)
pos=$(more /tmp/pos 2>/dev/null)
if test "$pos" = "si"
then
cd ..
echo > /tmp/pos
url=$(pwd)
else
if test $url != $pwd
then
cd $url 2>/dev/null
else
opc=$(echo n)
fi
fi
done
}
Navegar
aux=$(more /tmp/ar 2>/dev/null)
ar=$(echo $url/$aux)
ls -l $ar > /tmp/.tam
tam=$(awk '{print $5}' /tmp/.tam)
rm /tmp/.tam
if test $TAM -le $tam
then
dialog --msgbox "Introduzca un CD virgen y pulse " "7" "40"
rm /tmp/adikcion 2>/dev/null
rm /tmp/adk 2>/dev/null
rm /tmp/ru 2>/dev/null
rm /tmp/menu.exp.tmp.** 2>/dev/null
rm /tmp/ar 2>/dev/null
rm /tmp/pos 2>/dev/null
aux=$(echo $ar | grep *.iso)
if test "$ar" = "$aux"
then
if cdrecord dev=$DEV speed=$VEL -v -eject $ar
then
sleep 1
dialog --title "$TITULO" --msgbox "La ISO se ha grabado satisfactoriamente" "7" "40"
break
else
sleep 1
dialog --title "$TITULO" --msgbox "ERROR: No se ha podido grabar la imagen" "7" "40"
break
fi
else
dialog --title "$TITULO" --msgbox "ERROR: El formato de la imagen no es ISO" "7" "40"
break
fi

else
dialog --title "$TITULO" --msgbox "ERROR: La imagen es demasiado grande" "7" "40"

fi
VOLVER="si"
}

# ------------------------------------------------------------------------
# ------------------------------ BORRAR ----------------------------------
# ------------------------------------------------------------------------

function BORRAR ()
{
#VOLVER="si";SALIR="si"
dialog --clear --title "$TITULO" --menu "\n" "7" "54" "1" "Introduce el cd k kieres borrar y pulsa " "" 2> /tmp/menu.tmp.$$
retval=$?

opcion=`cat /tmp/menu.tmp.$$`
rm -f /tmp/menu.tmp.$$
case $retval in
0)
case $opcion in
'Introduce el cd k kieres borrar y pulsa ')
if cdrecord -dev=$DEV -blank=fast -eject 2>/dev/null
then
dialog --clear --title "$TITULO" --msgbox "\nCD borrado perfectamente" "8" "40"
else
dialog --clear --title "$TITULO" --msgbox "\nERROR: no se ha podido borrar" "8" "40"
fi;;
esac
;;
1)
VOLVER="si"
;;
255)
VOLVER="si"
;;
esac
}

#--------------------------------------------------------------------------
#---------------------------- MENU INICIAL --------------------------------
# -------------------------------------------------------------------------

function Menu () {
VOLVER="no";SALIR="no"
dialog --clear --title "$TITULO" \
--menu " -- BIENVENID@ A aDiKcIoN --\n\
Usa los cursores para seleccionar una opcion y pulsa para entrar en ella. " "15" "$ANCHO_MENU" "6" \
"MUSICA" "Grabar música desde cd's o desde el disco duro." \
"DATOS" "Grabar datos desde cd's o desde el disco duro."\
"ISO" "Grabar una iso." \
"BORRAR" "Borrar un regrabable" \
" " ""\
"Salir" "Salir a la shell" 2> /tmp/menu.tmp.$$

retval=$?

opcion=`cat /tmp/menu.tmp.$$`
rm -f /tmp/menu.tmp.$$

case $retval in
0)
case $opcion in
'MUSICA')until test "$VOLVER" = "si"
do MUSICA
done ;;
'DATOS') until test "$VOLVER" = "si"
do DATOS
done ;;
'ISO') until test "$VOLVER" = "si"
do ISO
done ;;
'BORRAR') until test "$VOLVER" = "si"
do BORRAR
done ;;
'Salir') SALIR="si" ;;
esac
;;
1)
SALIR="si"
;;
255)
SALIR="si"
;;
esac
}

# ------------------------------------------------------------------------
# ------------------------ CONFIGURACION ---------------------------------
# ------------------------------------------------------------------------
function Configuracion ()
{
VOLVER="no";SALIR="no"
dialog --clear --title "$TITULO" \
--menu " -- CONFIGURACIÓN -- Selecciona tu grabadora" "15" "30" "6" "/dev/cdrom" "" "/dev/scd0" "" "/dev/scd1" "" "/dev/scd2" "" "/dev/sda1" "" "/dev/sda2" "" 2> /tmp/menu.tmp.$$
retval=$?

opcion=`cat /tmp/menu.tmp.$$`
rm -f /tmp/menu.tmp.$$

case $retval in
0)
case $opcion in
'/dev/cdrom') GRAB="/dev/cdrom" ;;
'/dev/scd0') GRAB="/dev/scd0" ;;
'/dev/scd1') GRAB="/dev/scd1" ;;
'/dev/scd2') GRAB="/dev/scd2" ;;
'/dev/sda1') GRAB="/dev/sda1" ;;
'/dev/sda2') GRAB="/dev/sda2" ;;
esac
;;
1)
SALIR="si"
;;
255)
SALIR="si"
;;
esac

if test "$SALIR" != "si"
then
dialog --clear --title "$TITULO" \
--menu " -- CONFIGURACIÓN -- Selecciona el dispositivo scsi k tengas como grabadora" "17" "30" "7" "0,0,0" "" "0,0,1" "" "0,0,2" "" "0,0,3" "" "0,0,4" "" "0,0,5" "" "0,0,6" "" "0,0,7" "" "0,1,0" "" "0,2,0" "" "0,3,0" "" "0,4,0" "" "0,5,0" "" "0,6,0" "" "0,7,0" "" "1,0,0" "" "2,0,0" "" "3,0,0" "" "4,0,0" "" "5,0,0" "" "6,0,0" "" "7,0,0" "" 2> /tmp/menu.tmp.$$
retval=$?

opcion=`cat /tmp/menu.tmp.$$`
rm -f /tmp/menu.tmp.$$

case $retval in
0)
case $opcion in
'0,0,0') DEV="0,0,0" ;;
'0,0,1') DEV="0,0,1" ;;
'0,0,2') DEV="0,0,2" ;;
'0,0,3') DEV="0,0,3" ;;
'0,0,4') DEV="0,0,4" ;;
'0,0,5') DEV="0,0,5" ;;
'0,0,6') DEV="0,0,6" ;;
'0,0,7') DEV="0,0,7" ;;
'0,1,0') DEV="0,1,0" ;;
'0,2,0') DEV="0,2,0" ;;
'0,3,0') DEV="0,3,0" ;;
'0,4,0') DEV="0,4,0" ;;
'0,5,0') DEV="0,5,0" ;;
'0,6,0') DEV="0,6,0" ;;
'0,7,0') DEV="0,7,0" ;;
'1,0,0') DEV="1,0,0" ;;
'2,0,0') DEV="2,0,0" ;;
'3,0,0') DEV="3,0,0" ;;
'4,0,0') DEV="4,0,0" ;;
'5,0,0') DEV="5,0,0" ;;
'6,0,0') DEV="6,0,0" ;;
'7,0,0') DEV="7,0,0" ;;
esac
;;
1)
SALIR="si"
;;
255)
SALIR="si"
;;
esac
if test "$SALIR" != "si"
then
dialog --clear --title "$TITULO" \
--menu " -- CONFIGURACIÓN -- Elija la velocidad de grabacion" "17" "30" "7" "2" "" "4" "" "6" "" "8" "" "10" "" "12" "" "14" "" "16" "" "18" "" "20" "" "22" "" "24" "" "28" "" "30" "" "32" "" "34" "" "36" "" "38" "" "40" "" "42" "" "44" "" "46" "" "48" "" "50" "" "52" "" "54" "" "56" "" "58" "" "60" "" 2> /tmp/menu.tmp.$$
retval=$?

opcion=`cat /tmp/menu.tmp.$$`
rm -f /tmp/menu.tmp.$$

case $retval in
0)
case $opcion in
'2') VEL="2" ;;
'4') VEL="4" ;;
'6') VEL="6" ;;
'8') VEL="8" ;;
'10') VEL="10" ;;
'12') VEL="12" ;;
'14') VEL="14" ;;
'16') VEL="16" ;;
'18') VEL="18" ;;
'20') VEL="20" ;;
'22') VEL="22" ;;
'24') VEL="24" ;;
'26') VEL="26" ;;
'28') VEL="28" ;;
'30') VEL="30" ;;
'32') VEL="32" ;;
'34') VEL="34" ;;
'36') VEL="36" ;;
'38') VEL="38" ;;
'40') VEL="40" ;;
'42') VEL="42" ;;
'44') VEL="44" ;;
'46') VEL="46" ;;
'48') VEL="48" ;;
'50') VEL="50" ;;
'52') VEL="52" ;;
'54') VEL="54" ;;
'56') VEL="56" ;;
'58') VEL="58" ;;
'60') VEL="60" ;;
esac
;;
1)
SALIR="si"
;;
255)
SALIR="si"
;;
esac

if test "$SALIR" != "si"
then
dialog --clear --title "$TITULO" \
--menu " -- CONFIGURACIÓN -- Elige el tamaño de tu CD" "17" "30" "7" "180 MB" "20 minutos" "200 MB" "23 minutos" "245 MB" "28 minutos" "650 MB" "74 minutos" "700 MB" "80 minutos" "790 MB" "90 minutos" "880 MB" "100 minutos" 2> /tmp/menu.tmp.$$
retval=$?

opcion=`cat /tmp/menu.tmp.$$`
rm -f /tmp/menu.tmp.$$

case $retval in
0)
case $opcion in
'180 MB') TAM="181" ;;
'200 MB') TAM="201" ;;
'245 MB') TAM="246" ;;

'650 MB') TAM="651" ;;
'700 MB') TAM="701" ;;
'790 MB') TAM="791" ;;
'880 MB') TAM="881" ;;
esac
;;
1)
SALIR="si"
;;
255)
SALIR="si"
;;
esac
fi
fi
fi
}

# ------------------------------------------------------------------------
# ------------------------ PROGRAMA PRINCIPAL ----------------------------
# ------------------------------------------------------------------------
Configuracion
until test "$SALIR" = "si"
do Menu
done

clear
echo -e "$MSG"

DrMuehehe

¿Alguna razón especial para usar este shell? No lo había oído nunca.

🗨️ 4
Shark

Pues la programacion en bash es una de las competiciones de casi todas las parties ;)

Stendall1

en windows tu tienes lo que seria el equivalente al bash, en el windows 2000 y XP tienes el cmd.exe y en los ME, 98 etc, el command.com.
Aparte de esos, ha habido algun otro, yo recuerdo uno de norton que estaba muy bien y supongo que despues habra habido otros, pero no se ha hablado mucho del tema una vez se dejo de usar el DOS.
En los unix, tienes como en todo la libertad de decidir que shell quieres, y tienes un monton a elegir, seguro que con cualquier distribucion te vienen por lo menos una docena.
En cuanto al Bash, es uno de los mas usados, es el shell por defecto en muchas distribuciones, yo le uso por que es con el que me encuentro mas comodo, aunque en esto como en todo para gustos estan los colores, no voy a empezar ahora un debate estilo Vi vs Emacs :), si alguno usa el csh, korn etc.. por favor, tomaoslo como falta de cualificacion por mi parte para usar otros shell, no pretendo poner el bash por encima de ningun otro ;).
Pues como te comentaba, la diferencia entre un cmd.exe y un bash u otro shell es casi como entre programar con batchs a programar en C, sin dejar de ser un shell, te dejan hacer muchas cosas, simplemente toma como referencia el script que he posteado y piensa si se podria hacer algo parecido en windows,en los shell puedes usar variables de tipo automatico, arrays, funciones, librerias etc... y todo eso sin salirte del bash, solo que el bash es como el esqueleto del programa, y las funciones son pequeños programas que vienen de base, asi que si pones por ejemplo:

i=0;
while [ $i echo $i;
let i=i+1;
done;

while, do, echo, let y done son programas y el shell seria el armazon que permite que se mantenga todo junto y funcione.
Espero haberme sabido explicar.

Un saludo.

🗨️ 2
DrMuehehe

Yo sólo he usado el C shell para las primeras prácticas de Sistemas Operativos y sabía que existían el Bourne, el Korn y el C shell.

🗨️ 1
Baudelaire

Aunque Red Hat utiliza un nucleo de la serie 2.4 ,la configuración por defecto del cortafuego se basa en ipchains de la serie 2.2(por lo menos hasta donde llega mi conocimiento).El siguiente guion es sencillamente un guión iptables que se ejecuta como un servicio SysV.Para instalar este guión ,solo tiene que copiarlo en /etc/init.d como /etc/init.d/firewall,y ejecutar a continuacion :
-> chkconfig --add firewall

carnassier.webcindario.com/Firewall.txt

Saludos.

MaX

En cuanto pueda los echo un ojo ;)

Para Baudelaire y Psycosis, si podeis quitar el fuente y poner un enlace mejor, q queda bastante engorroso el hilo asi. Gracias!

Saludos!!

Stendall1

pero como ha comentado Max lo de poner los links en vez del texto, si alguno no quiere buscar una pagina web gratis, rellenar todo etc, si me mandais un correo os doy el nombre y el pass de una que tengo en miarroba, me fio de vosotros.

Un saludo.

🗨️ 2
Baudelaire

un detalle por tu parte,...pero no debes ser tan confiado.

Lo más facil es que se registren y consigan una gratis.
Yo tengo una, solo por registrarme en Rojodos.

🗨️ 1
Stendall1

Tambien es un detalle por tu parte que te preocupes por los demas.

Un saludo.