[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Arrancar con script de usuario



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



Reply to: