我試圖通過變量來設置藝術家信息,其中有空格。拉姆胡扯出來。也許我被bash推遲了?如何使用lame在shell腳本中編碼wav文件?
#!/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=$
這裏是腳本的輸出。
[email protected]:~/ogg/noartist/unknown_disc$ ./encode.sh
[email protected]:~/ogg/noartist/unknown_disc$ lame: excess arg The
lame: excess arg The
Lame抱怨每次循環迭代...當然。
我改變了腳本來回顯循環的一個迭代,這就是輸出的內容。
lame -b 320 --ta "New Kids On The Block" --tl "The Block" --ty 2008 track_01.wav track_01.mp3
這工作線罰款殼...我很困惑。我在這裏做錯了什麼?我知道它與我的變量中的空格有關,但我不知道如何解決它。