2 votos

parámetro de cadena sudo sh

Estoy jugando con mi Raspberry Pi Zero e intento automatizar un script de transmisor de FM.

Puede ejecutar el script con sudo fm_transmitter -f [frequency] -r [.wav music file]

Por ejemplo:

 sudo fm_transmitter -f 103 -r star_wars.wav
 

Mi código:

 musics[0] = "/home/pi/radio/fm/star_wars.wav"

sudo /home/pi/radio/fm/fm_transmitter -f 103 -r musics[0]
 

Me da un error porque no puede encontrar musics[0] .

Cual podría ser el problema aquí?

5voto

Arronical Puntos 2151

Se ha establecido el primer elemento de una matriz como /home/pi/radio/fm/star_wars.wav con la línea:

musics[0]="/home/pi/radio/fm/star_wars.wav"

El acceso a los contenidos, la necesidad de ampliar el elemento de matriz utilizando $ como así:

sudo /home/pi/radio/fm/fm_transmitter -f 103 -r "${musics[0]}"

Las comillas "" se utiliza para conservar el formato de la salida, y las llaves {} son parte de la expansión de una variable de matriz.

No está claro por qué estás utilizando una matriz de aquí, cuando una variable estándar. Usted podría reemplazar:

musics[0]="/home/pi/radio/fm/star_wars.wav"

con

musics="/home/pi/radio/fm/star_wars.wav"

y la utilización de la línea que los cambios de variables:

sudo /home/pi/radio/fm/fm_transmitter -f 103 -r "$musics"

Esto es mucho más sencillo, ya que no es necesario utilizar los números de índice (la parte que se refiere por [0]).

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: