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

Responder a