J'essaie de définir des informations d'artiste via des variables avec des espaces en eux. Lame craps out. Peut-être que je suis retardé avec bash?Comment utiliser lame pour encoder des fichiers wav dans un script shell?
#!/bin/bash
year=2008;
artist="New Kids On The Block";
album="The Block";
bitrate=320;
lame="lame -b $bitrate --ta \"$artist\" --tl \"$album\" --ty $year"
function first_half
{
for ((i=1;i<10;i++)); do
$lame "track_0$i.wav" "track_0$i.mp3";
done;
}
function second_half
{
for ((x=10;x<18;x++)); do
echo $lame "track_$x.wav" "track_$x.mp3";
done;
}
first_half &
first_pid=$!
#second_half &
#second_pid=$
Voici la sortie du script. Lame se plaint pour chaque itération de boucle ... bien sur.
J'ai changé le script pour renvoyer l'une des itérations de la boucle et c'est ce qui est sorti.
lame -b 320 --ta "New Kids On The Block" --tl "The Block" --ty 2008 track_01.wav track_01.mp3
Cela fonctionne très bien sur la coque ... Je suis confus. Qu'est-ce que je fais mal ici? Je sais que cela a à voir avec les espaces dans mes variables, mais je ne suis pas sûr de savoir comment y remédier.