El Martes, 15 de Junio de 2004 20:25, Iñaki escribió: > El Martes, 15 de Junio de 2004 20:06, Javier Payno escribió: > || de forma sencilla y cutre: > || > || case "$1" in > || > || start) > || su -c '/home/usuario/mldonkey-xx.yy/mlnet > /dev/null &' usuario > || ;; > || > || esac > > Muchas gracias, lo único, ¿me podrías explicar un poco como funciona? así > aprendo sobre scripts. ¿Qué es eso de /dev/null &' usuario? ¿y case "$1" > in?
Es la forma en la que se iniciaba mldonkey, por lo menos cuando yo lo usaba :S, ejecutas el comando mlnet redireccionando la salida estandar '>' a /dev/null para que no suelte mucha chachara y en segundo plano '&' para que te devuelva el prompt. Para que te sepas la forma de usar case mejor que te leas el manual de bash, que te lo contará mas claro que yo. Este es uno de los modelos básicos para hacer scripts de arranque, teniendo en cuenta que a la hora de ejecutar un comando, el comando en si toma la variable $0 el primer argumento $1, el segundo $2 y así sucesivamente lo que indica este script es que si el argumento dado es "start" (/etc/init.d/script start), el ejecutará el comando en cuestión, si se le pasa cualquier otro parametro terminará la ejecución con un exit 1, si no me equivoco, es cuestión de probarlo. Teniendo en cuenta que durante el inicio del sistema, en un arranque normal, este ejecutará todos los script que haya en init.d los cuales tengan un enlace blando en el directorio del runlevel con el que el sistema arranque por defecto, pasandoles el parámetro start o stop dependiendo de si el nombre del enlace blando empieza con S o K, este script debería ser guardado en /etc/init.d y se le tendría que hacer un enlace blando en /etc/rc2.d/, que es el runlevel en el que inicia debian por defecto, si no ha sido modificado, de la siguente forma ln -s /etc/init.d/script_mldonkey /etc/rc2.d/S99script_mldonkey 99 indica el orden en que se ejecutará el script, el último ya que no es necesario que este en marcha la mula para que otra cosa inicie. > Y una cosilla, ¿este script donde va? ¿en /etc/init.d? > > y su dueño es root ¿verdad? El dueño del script será root pero el que ejcute el comando será el usuario que pongas despues de .../dev/null &' _______ > ¿y es un script de bash? o sea, al principio ¿hay que poner #!/bin/sh ? sip > Muchas gracias por tu pronta respuesta, Javier. NP, para que estamos si no