- Normas del foro
Actualizadas 11.10.07 - Normas del blog
Actualizadas 12.03.08 - Preguntas Frecuentes
(Sólo temas de moderación)
Karmic KoalaNormas + Info.Leer antes de publicar
(Sólo temas de moderación) Inicio de sesión de usuarioSeguimientoTemas nuevosTemas activosComentarios recientes
NavegaciónTira EcolEncuesta¿Programación en local o en la nube? [Encuesta] Prefiero "programas en la nube" (Could Computing) 15% Prefiero "programación local" 53% Indiferente. Me da igual. 32% Total de votos: 1610 Envíos recientes a las bitácoras
En líneaEn este momento hay 35 usuarios y 674 invitados en línea.
Usuarios en línea
|
Como crear Script![]() Como crear ScriptEnviado por ator_18 el Jue, 09/03/2006 - 00:14 OtrosMe gustaria crear un buen COMO en el que todo el mundo participemos y posteemos algunos de nuestros script para ayudarnos un poco entre todos. Un bash script es un pequeño programa escrito en el lenguaje de nuestra consola bash. Es una herramienta muy potente y util que sirve principalmente para automatizar tareas comunes que hacemos de forma manual. Cómo se hacen los bash script: Lo primero es indicar el lugar donde se encuentra nuestra bash, por defecto se esta en /bin/bash. Esto lo hacemos del siguiente modo #! /bin/bash .#! -> con ésto le decimos a nuestra consola donde se encuentra un determinado programa, en este caso, nuestra propia shell. Tras ésto empezamos con las sentencias. Podemos usar estructura de control (if, else, while, until ...) y variables al igual que en la mayoria de los lenguajes de programación. Las variables son fuertemente tipadas (una vez definido su tipo no podra cambiarse) y no hay que especificar su tipo (la shell es la encargada de esa labor). Las instrucciones que podemos emplear son las mismas que empeariamos en nuestra consola, pongo un ejemplo de un script sencillito que nos actualiza el sistema: #! /bin/bash Abrimos nuestro editor de texto preferido (por ejemplo gedit) y copiamos ese script, lo guardamos por ejemplo con el nombre de Actualizar.sh Al igual que en la consola podemos usar tuberias, esto es pasarle la salida de un comando a otro. Para ello usamos este simbolo | un ejemplo: Podemos mostrar la salida de un programa por otro medio que no sea el estándar (pantalla) por ejemplo a un fichero. Para ello usamos el caracter > . Por ejemplo: if [ condición booleana]; then Adicionalmente podemos usar la sentencia else que ejecuta codigo en caso de que la condicion no se cumpla: if [condicion booleana]; then Podemos anidar varios else, del siguiente modo: if [condicion booleana]; then Un ejemplo que ilustra el uso de este tipo de estructuras de control: #!/bin/bash Otro tipo de estructura de control es el while. Este bucle se ejecuta indefinidamente mientras la condicion sea cierta. Esta es la sintaxis: while [condicion booleana]; do Ejemplo: #!/bin/bash Para que veais lo sencillo que resulta hacer un script os voy a dejar uno que pide una fecha y muestra un calendario de la fecha: #!/bin/bash Espero haberos ayudado a resolver algunas dudas sobre script. Si os interesa el tema os recomiendo que busqueis alguna guía en google y os animo a crearos vuestros propios script. Es muy sencillito y pueden ayudarnos en nuestra tarea cotidiana. Un saludo Linux: La puerta mejor cerrada es aquella que puede dejarse abierta holitaEnviado por Anónimo el Mié, 29/03/2006 - 19:42
yo tambien se un poquito de bash ¿me podrias explicar mejor eso de el while? tengo un pequeño script instalador y me gustaria q cuando dan a cancelar cuando le dice vuelva a intentarlo siempre le salga otra vez el menu... lo he hecho con 2 intentos ya q no se hacer q lo haga siempre. Gracias »
![]() Un ejemploEnviado por joseluis el Jue, 06/04/2006 - 10:21
Tal vez con un ejemplo veas como funciona.
i=1 echo "Iteracion $i" echo "¿Salir S/N?" ----- »
duda con script para radiosEnviado por aledelgal el Lun, 10/04/2006 - 18:24
Pues yo estoy INTENTANDO hacer uno que me deje elegir qué radio quiero escuchar, pero no sé qué pasa que no me funciona. Ahí va el script #!/bin/bash echo "" Al ejecutarlo me da el siguiente error: Supongo que será una tontería pero es que no tengo ni idea de hacer scripts, es el primero que hago. ][ALeX][ »
![]() SolucionadoEnviado por ator_18 el Lun, 10/04/2006 - 23:05
#!/bin/bash echo "" Tenias algun error. Te los comentare, asi en futuros script no te sucedera. - Cuando estas en una estructura if [ expresion ] es muy importante el espaciado. Entre el if y [ debe haber un espacio. Entre los corchetes tambien. if [ expresion ] es correcto. Te pongo ejemplos donde no seria correcto: Otro error fue el siguiente. Supongo que no se explico demasiado bien en el post, asi que tratare de aclarar alguna duda. Cuando en un script usamos los parentesis (), lo que estamos haciendo es llamar a una subshell que ejecuta esa orden. Me explico. Cuando usamos [] lo que estamos haciendo es evaluar. Equivale a usar la orden test. Se utilizan los corchetes simplemente por abreviar, pero puede resultar algo lioso si no se comprende. # asignamos un valor a la variable saludo Vamos a hacer lo mismo usando [] en vez de test # asignamos un valor a la variable saludo Espero que se haya comprendido esto. Ahora bien, el error que cometiste fue el siguiente. Si me permites un consejillo, ten mucho cuidado con la tabulacion y el espaciado, aunque parezca solo estetico ayuda mucho a comprender el codigo y detectar errores facilmente, ademas en ciertas ocasiones es necesario si queremos que funcione correctamente. Si no es demasiada molestia, cuando termines el script cpn todas las emisoras podrias postearlo para que todos disfrutemos de él. Espero haberte ayudado, un saludo Linux: La puerta mejor cerrada es aquella que puede dejarse abierta »
mil graciasEnviado por aledelgal el Mar, 11/04/2006 - 10:23
Ya funciona a la perfección. Las aclaracines han sido muy buenas. ][ALeX][ »
mil graciasEnviado por aledelgal el Mar, 11/04/2006 - 10:23
Ya funciona a la perfección. Las aclaraciones han sido muy buenas. ][ALeX][ »
mil graciasEnviado por aledelgal el Mar, 11/04/2006 - 10:25
Ya funciona a la perfección. Las aclaracines han sido muy buenas. ][ALeX][ »
![]() Otro script muy simple de ejemploEnviado por joseluis el Jue, 09/03/2006 - 10:09
lista=`ls` # Utiliza el acento grave. Sirve para ejecutar for i in $lista ; # Este script no sirve para nada, salvo quizás para ilustrar directorio=`zenity --file-selector --directory \ # Más información sobre zenity en man zenity o zenity --help Por cierto, muy buena tu iniciativa. ------- »
![]() Excelente aportacionEnviado por ator_18 el Jue, 06/04/2006 - 20:36
Gran aportacion joseluis. Por cierto, para quien no lo sepa, la barra invertida \ indica que aunque hayamos ido a la linea siguiente la orden es seguida. Me explico. La frase anterior seria igual a: Y seria lo mismo que hacer: Linux: La puerta mejor cerrada es aquella que puede dejarse abierta »
|
Muy buen HowTo si señor. Yo
Muy buen HowTo si señor. Yo estoy haciendo un script para qemu; para que pida que sistema operativo quiere (por aora tengo W98 y XP) y segun lo que se elija ejecutar uno u otro.
Me he quedado atascado, ya que los scripts de linux no los e tocao mucho.
Alguna idea?? gracias majete
edito: Por ahora tengo hecho esto.
#script para usar varias imagenes para el qemu
echo "Que sistema operativo prefieres emular?"
echo " 1.Windows XP"
echo " 2.Windows 98"
echo " 3.Salir"
#se elige una de las opciones
echo "Opcion:"
read opccion
#se lee la opcion elegida
#se ejecuta segun la opcion elegida. Destacar nombre de la imagen
case $opccion in
1 qemu -user-net -localtime -m 1024 -hda wxp.img -cdrom /dev/cdrom -boot c
2 qemu -user-net -localtime -m 1024 -hda w98.img -cdrom /dev/cdrom -boot c
3 exit
#FIN