Duda script

Imagen de Jasuarez
0 puntos

- Hola

- Primeramente remitir un cordial y afectuoso saludo a toda la comunidad.

- Mis disculpas por si esta no es la sección adecuada pero no logro ver donde encajar
la consulta :)

- Me encuentro desde hace un tiempo con la incidencia de no lograr programar
un script que necesito, se trata de un notificador con aviso de audio o alarma,
básicamente sería un Bash que pudiera ejecutar y ademas agregar la entrada de que
se ejecute en otro script "en caso de" caídas del servicio, proceso, etc.... He leido
e intentado seguir los pasos de creación de scripts para otros temas, variables
y funciones para poder extrapolar conceptos, pero no logro sacar nada en claro .

- Ubuntu 12.0.4 gnome:

- Ejecuto desde el Shell este comando:

root@ubuntu:/home/user/# mpg123 alarma.wav

Y correctamente oigo el aviso del archivo de audio situado en el directorio, pero al intentar crear un script siempre al ejecutarlo me da el error de acceso denegado, le doy permisos al archivo alarma.sh pero continua con el mismo error y no logro avanzar.

: No such file or directory not open file /home/user /alarma.sh
: File acces error. (code 22) open /home/user/alarma.sh

- Estaría muy agradecido por cualquier orientación al respecto.

- Cordiales Saludos

Imagen de Gabriel_M
+1
+1
-1

 
File acces error. (code 22) open /home/user/alarma.sh

No tienes permisos para abrir el archivo /home/user/alarma.sh

+1
+1
-1
Imagen de Jasuarez
+1
0
-1

- Hola compi.

- Muchas gracias por responder, el archivo alarma.sh si tiene permisos, de ahí la tremenda
confusión ya que lo ejecuto desde root y con los permisos dados chmod 755 o 777 pero se
queda tal cual ni se inmuta.

- Cordiales Saludos.

+1
0
-1
Imagen de Gabriel_M
+1
+2
-1

... del archivo en el post.

+1
+2
-1
Imagen de Jasuarez
+1
0
-1

- Hola nuevamente y muchas gracias nuevamente por responder.

- El contenido es o debiera ser muy simple ya que así lo deduzco tras leer y releer como ya comento
otras formas de crear los bash.

- He provado con script de shell:

#!/bin/sh

mpg123 /home/user/ alarma.mp3

- Mis disculpas por la torpeza pero creo que no necesitaría nada mas, he probado con otro,
script de bash:

#!/bin/bash

mpg123 /home/user/ alarma.mp3

- Lo mismo ni siquiera lo estoy haciendo correctamente, pruebo a localizar otros script en la red
igual e sencillos que simplemente al ejecutarlos vayan a un directorio dado y abran algo, una foto,
un gedit, un txt...pero no encuentro ningún ejemplo para extraspolar conceptos, de ahí que posiblemente
lo este haciendo desde un inicio incorrectamente.

- Cordiales Saludos :) :) :)

+1
0
-1
Imagen de Jasuarez
+1
0
-1

- Ejemplos que he encontrado mas elaborados, los unicos localizados en toda la red
para lo que necesito y que tampoco me han funcionado.

#! /bin/bash

INPUT_STRING=hello
reproducciones=0
while [ "$INPUT_STRING" != "bye" ]
do
ogg123 /ruta/sonido
reproducciones=`expr $reproducciones + 1`
if [ $reproducciones = 10 ]
then
exit
fi
done

##############################################

#! /bin/bash
for i in $(seq 1 10); do
ogg123 /ruta/sonido.ogg
done

##############################################

- Con estos he realizado varias pruebas y combinaciones OGG / aplay / mpg123 / sin éxito
alguno.

- Saludos.

+1
0
-1
Imagen de Gabriel_M
+1
+1
-1

gedit alarma.sh
.......... #!/bin/bash cd /home/user/ mpg123 alarma.mp3
chmod +x alarma.sh ./alarma.sh
+1
+1
-1
Imagen de Jasuarez
+1
0
-1

- Muy buenos días.

- Gracias por las indicaciones, comento el resultado de las pruebas.

*Edito el archivo tal y como se indica.
* Permisos +x

root@ubuntu:/home/user# ./alarma.sh
bash: ./alarma.sh: /bin/bash^M: Interprete erróneo: No existe el archivo o el directorio

root@ubuntu:/home/user# sh alarma.sh
Hi Performance MPGE 1.0/2.0/2.5 Audio Player for Layers 1. 2 and 3
version 1.12.1; written and copyright by Michael Hipp and others
free software (LGPL/GPL) without any warranty but with best wishes
: No such file or directory not open file alarma.mp3
: File access error. (code 22) open alarma.mp3

- Es verdaderamente frustrante, algo que debiera ser muy sencillo no logro
comprender como no acaba de funcionar, por mas que he realizado combinaciones
y/o ajustes, cambios hacia otros directorios del mp3, diferentes reproductores en el Shell
siempre obtengo el mismo y frustrante resultado.

- Ya a estas alturas es mas por lograr comprender que puede estar pasando en mi
Ununtu para que ocurran estos errores que el bash en si mismo.

- Muchas gracias y Saludos.

+1
0
-1
Imagen de maic
+1
+1
-1

Prueba a ponerle al archivo de sonido el permiso de ejecución:
Botón derecho - Propiedades - Permisos - Permitir ejecutar el archivo como un programa

Lo he probado y es eso lo que hacía que no funcionara. Lo que no se entiende es que ejecutando el comando mpg123 directamente en consola sí funcione sin tener permisos ni nada.

Un saludo.

+1
+1
-1

------------------------------------------------
Por un mundo sin Puertas ni Ventanas. Usa Linux.

Imagen de maic
+1
+1
-1

No he podido editar mi anterior comentario. Me refería al archivo de script. A ese es al que hay que ponerle permiso de ejecución, evidentemente. Perdón por el desliz.

Además, pensándolo bien, ejecutando el mpg123 en consola es lógico que funcione. Estaba un poco liado con el tema de a quién se le ponen los permisos.

¡Suerte!

+1
+1
-1

------------------------------------------------
Por un mundo sin Puertas ni Ventanas. Usa Linux.

Imagen de Jasuarez
+1
0
-1

- Hola compi.

- Muchas gracias por tus indicaciones.

- Compruebo nuevamente los permisos y si el de ejecución ya lo tenía marcado, he probado a
cambiar el "Grupo propietario" y nada, el mismo error.

- Es lo que tu comentas, muy extraño que ejecutandolo directamente desde el Shell funcione, ademas ejecutando el mp3 directamente abre su aplicación predefinida y lo reproduce, todo un misterio de porqué
a mi no me funciona el dichoso bash.

- Esto debe ser, deduzco desde mi ignorancia, otro temario ajeno al bash en sí mismo a nivel de Sistema Operativo, lo extraño es que ya tengo otros bash específicos para otras cuestiones y si funcionan correctamente, de ahí que quería "concatenar" este en uno de ellos como alarma o aviso "en caso de..."
pero estoy viendo que va a ser imposible.

- Si me comentas que a ti si te funciona, menos me lo explico :( :( :( , vaya misterio.

- Cordiales Saludos.

+1
0
-1
Imagen de maic
+1
+1
-1

En vez de la de root. A mí me funciona como usuario normal.
(y que el propietario de ese archivo de script sea ese mismo usuario).
Otra cosa no se me ocurre...

El problema podría estar en "propietarios", "permisos"... No sé... Desde luego, es desesperante cuando algo no funciona.

¡Ánimo!

+1
+1
-1

------------------------------------------------
Por un mundo sin Puertas ni Ventanas. Usa Linux.

Imagen de Jasuarez
+1
0
-1

- Hola nuevamente.

- Muchísimas gracias compi :) :) :) :) :)

- Exactamente funciona !!!!!!!, hay que ejecutarlo como usuario normal.

#!/bin/bash
cd /home/user/
aplay alarmawav.wav

- Permisos de ejecución:

root@ubuntu:/home/user# chmod +x alarma.sh

- Como User normal:

user@ubuntu: ~$ sh alarma.sh

- Y completo.......

- Ciertamente es una verdadera alegría el poder haber localizada la solución
de este "misterio" :D :D :D , ahora ya con este resuelto solo queda ir "jugando
con mas parámetros y añadidos, Gif animado de sirena en desktop al saltar la alarma,
"notifier" (envío de email), Warning en shell, etc, etc, etc,

- Muchísimas gracias a todos los compis por sus indicaciones y ayuda, espero y deseo
que pueda serle de utilidad a quien se le presente la misma incidencia o duda.

- Cordiales Saludos.

+1
0
-1