nkdos Posted August 14, 2012 Report Share Posted August 14, 2012 (edited) Saludos comunidad, Acabo de crear un Script para facilitar la instalación de reproductores musicales y de video, no es un Script complicado, simplemente lo que estoy intentando hacer es tener una gran cantidad de Script para una post-instalación de algún sistema operativo, en este caso Debian Testing (Wheezy). Este Script está hecho en Bash, es más que nada un menú que realiza acciones según la opción elegida. Para abrir el script en primer lugar necesitamos darle permisos de ejecución al fichero, para eso hacemos lo siguiente: $ chmod +x <nombre-fichero> Luego necesitaremos tener permisos de súper usuario, de lo contrario arrojará una excepción y se cerrará. Al abrir el Script, nos saldrá un menú con las siguientes opciones:vlc / nvlcexaileclementinerhythmboxbansheeamarokxmms2mpg123mocmp3blastermplayer2smplayergnashSimplemente tipeamos el número del reproductor a instalar, una vez hecho esto empezará la instalación, confirman las dependencias y listo, todo instalado. El código lo subí a 4shared para que lo puedan descargar, además va con un pdf que es la entrada a este blog http://www.4shared.c...lacin_repr.html Aquí pueden ver el código #!/bin/bash # # author: Nicolás Ormeño # email: ni.ormeno at gmail dot cl # license: GPL V3 # date: 2012-08-06 # description: Script para facilitar la instalación de reproductores # if [ `whoami` != root ]; then echo "Debe poseer privilegios de super usuario"; echo "Saliendo del sistema"; exit; fi repetir=s; while [ "$repetir" = s ] do clear echo "" echo "REPRODUCTORES" echo "-------------" echo "1. vlc / nvlc" echo "2. exaile" echo "3. clementine" echo "4. rhythmbox" echo "5. banshee" echo "6. amarok" echo "7. xmms2" echo "8. mpg123" echo "9. moc" echo "10. mp3blaster" echo "11. mplayer2" echo "12. smplayer" echo "13. gnash" echo "" read -p "Elija reproductor a instalar: " rep case $rep in 1) aptitude install vlc vlc-plugin-jack vlc-plugin-notify vlc-plugin-pulse mozilla-plugin-vlc browser-plugin-vlc; ;; 2) aptitude install exaile exaile-plugin-contextinfo remuco-exaile; ;; 3) aptitude install clementine remuco-clementine; ;; 4) aptitude install rhythmbox rhythmbox-plugins rhythmbox-plugin-cdrecorder; ;; 5) aptitude install banshee banshee-extension-albumartwriter banshee-extension-karaoke banshee-extension-lyrics remuco-banshee; ;; 6) aptitude install amarok amarok-utils remuco-amarok; ;; 7) aptitude install xmms2 xmms2-core xmms2-plugin-all; ;; 8) aptitude install mpg123; ;; 9) aptitude install moc moc-ffmpeg-plugin ;; 10) aptitude install mp3blaster; ;; 11) aptitude install mplayer2 mplayerthumbs; ;; 12) aptitude install smplayer smplayer-themes vdr-plugin-mplayer; ;; 13) aptitude install gnash gnash-tools mozilla-plugin-gnash browser-plugin-gnash; ;; *) echo "" echo "Opción incorrecta" ;; esac echo "" read -p "¿Realizar otra instalación? (s/n) " repetir done Solamente pido que si el script lo suben en algún otro lado o lo modifican, que escriban que es mio o que fue modificado y el original era mio, y si les sirvio de algo que se hagan seguidores de mi blog :) http://ormeno-nicolas.blogspot.com/ ya que tengo varias visitas pero no seguidores :( Edited August 14, 2012 by nkdos Link to comment Share on other sites More sharing options...
nunacho Posted August 15, 2012 Report Share Posted August 15, 2012 Se ve bueno, hice una version mas corta del script #!/bin/bash if [ $UID -ne 0 ]; then echo "Debes ser root" >&2 exit 1 fi opts=( 'vlc / nvlc' 'exaile' 'clementine' 'rhythmbox' 'banshee' 'amarok' 'xmms2' 'mpg123' 'moc' 'mp3blaster' 'mplayer2' 'smplayer' 'gnash' 'salir' ) paquetes=( 'vlc vlc-plugin-jack vlc-plugin-notify vlc-plugin-pulse mozilla-plugin-vlc browser-plugin-vlc' 'exaile exaile-plugin-contextinfo remuco-exaile' 'clementine remuco-clementine' 'rhythmbox rhythmbox-plugins rhythmbox-plugin-cdrecorde' 'banshee banshee-extension-albumartwriter banshee-extension-karaoke banshee-extension-lyrics remuco-banshee' 'amarok amarok-utils remuco-amarok' 'xmms2 xmms2-core xmms2-plugin-all' 'mpg123' 'moc moc-ffmpeg-plugin' 'mp3blaster' 'mplayer2 mplayerthumbs' 'smplayer smplayer-themes vdr-plugin-mplayer' 'gnash gnash-tools mozilla-plugin-gnash browser-plugin-gnash' ) select opt in "${opts[@]}"; do [ -z "$opt" ] && continue [ "$opt" == 'salir' ] && exit 0 for (( i = 0; i < ${#opts[@]}; ++i )); do [ "$opt" == "${opts[$i]}" ] && apt-get install ${paquetes[$i]} done done Link to comment Share on other sites More sharing options...
nkdos Posted August 16, 2012 Author Report Share Posted August 16, 2012 Justamente esa es la idea :) ir aprendiendo y que les funcione a otras personas, en Bash no me manejo mucho y tengo unas dudas: opts y paquetes son arreglos? Link to comment Share on other sites More sharing options...
nunacho Posted August 17, 2012 Report Share Posted August 17, 2012 Si, ambos son arreglos. Link to comment Share on other sites More sharing options...
X_tatane_X Posted August 18, 2012 Report Share Posted August 18, 2012 Excelente aporte, felicitaciones compadres! Suerte :cool: Link to comment Share on other sites More sharing options...
nkdos Posted August 20, 2012 Author Report Share Posted August 20, 2012 select opt in "${opts[@]}"; do[ -z "$opt" ] && continue[ "$opt" == 'salir' ] && exit 0for (( i = 0; i < ${#opts[@]}; ++i )); do [ "$opt" == "${opts[$i]}" ] && apt-get install ${paquetes[$i]}donedone Socio en el código que colocaste, me ayudarías explicandome un poco que hace cada cosa en esto? es que hay partes que entiendo, pero hay otras que me generan dudas. por ejemplo la opción -z es una de ellas. Link to comment Share on other sites More sharing options...
nunacho Posted August 21, 2012 Report Share Posted August 21, 2012 El select opt in "${opts[@]}"; do ... seria lo mismo queselect opt in 'vlc / nvlc' 'exaile' 'clementine'...; do si ingresas un valor distinto que no este entre 1 y 14 el script sigue con la siguiente iteracion ([ -z "$opt" ] && continue)si ingresas 14 opt tendra el valor 'salir' por lo que finaliza el script devolviendo 0 al entorno ([ "$opt" == 'salir' ] && exit 0)por ultimo si por ejemplo ingresas '1' seleccionas la opcion 'vlc / nvlc' por lo que lo busca en el arreglo "opts" y instala los paquetes del arreglo 'paquetes' Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now