Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: sepultombed en 19 Diciembre 2010, 03:23 am



Título: SCRIPT [BASH] guardar ip, agregar a la cola cancion
Publicado por: sepultombed en 19 Diciembre 2010, 03:23 am
hola amigos.. soy nuevo en este foro y tengo una duda sobre scripting en bash...

tengo que hacer unos scripts bash.. tal que regule las solicitudes musicales de cada computador.. de tal manera que la envie a un servidor y este la toke en un alto parlante pero tienen que irse alternando los usuarios, pero tengo una duda..

consta de 3 script

1: que reproduzca la musica.. si esta tocando que espre 15 segundos.. y si no.. que cree un archivo "tocando" tocar la cancion .. y borrar la ip al final

y ese es el que me falta.. tengo los otros dos.. que son los que revisan tocando.. y el que se preocupa de reproducir la siguiente cancion y eliminar al que ya toco... aca tengo lso 2 ya tengo .. :


Código
  1. #!/bin/bash
  2. #total=$((1*1))
  3. archivo= $(tocando.txt)
  4. program="siguiente.sh"
  5. while $(sleep 1); do
  6. if [-e $archivo]; then
  7. proceso='ps ax |grep $program |grep -v "grep"|awk {print $1 }'
  8. #proceso='ps axu|grep op_server.pl|head -1|cut -c11-15'
  9. echo $proceso;
  10. kill -9 $proceso
  11. else
  12.  
  13. siguiente.sh
  14.  
  15. fi
  16. done
  17.  


y el otro
Código
  1. #!/bin/bash
  2. #total=$((1*5))
  3. archivo= $(tocando.txt)
  4. while $(sleep 5); do
  5. if [-e $archivo]; then
  6. echo "ocupado"
  7. else
  8. head -n 1 listatoca.txt
  9. sed -e '1d' listatoca.txt
  10. fi
  11. done
  12.  


ayudenme porfavor.. de antemano muchas gracias


Título: Re: SCRIPT [BASH] guardar ip, agregar a la cola cancion
Publicado por: leogtz en 19 Diciembre 2010, 10:14 am
Pregunta cosas más especificas, no todo el script en general, así es dificil seguirte.

En tus scripts tienen muchos errores:

Código
  1. archivo= $(tocando.txt)
Mal, $() ejecuta un comando y obtienes la salida del comando, en este caso estás intentando ejecutar el archivo de texto y poner la salida en una variable.

Código
  1. while $(sleep 1); do
Esto no tiene lógica.

Código
  1. if [-e $archivo]; then

Debe haber espacios entre corchetes.