Jump to content

Script para facilitar la instalación de reproductores


Recommended Posts

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:

  1. vlc / nvlc
  2. exaile
  3. clementine
  4. rhythmbox
  5. banshee
  6. amarok
  7. xmms2
  8. mpg123
  9. moc
  10. mp3blaster
  11. mplayer2
  12. smplayer
  13. gnash

Simplemente 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 by nkdos
Link to comment
Share on other sites

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

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

 

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

El select opt in "${opts[@]}"; do ...

 

seria lo mismo que

select 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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...