使用多个while循环和read行的bash脚本

使用多个while循环和read行的bash脚本,bash,while-loop,flac,Bash,While Loop,Flac,我正在尝试写一个bash脚本来创建一些音乐播放列表。让我卡住的部分是读取行的while循环。我想我是想得太多了,所以我求助于stackoverflow # The first while loop is how many playlists I want to create i=1 while [ $i -le $plist ] do echo -e "iteration $i" i=$[$i + 1] z=0 # This while loop is for

我正在尝试写一个bash脚本来创建一些音乐播放列表。让我卡住的部分是读取行的while循环。我想我是想得太多了,所以我求助于stackoverflow

# The first while loop is how many playlists I want to create
i=1
while [ $i -le $plist ]
do
    echo -e "iteration $i"
    i=$[$i + 1]

    z=0
    # This while loop is for the length of time I want the playlist to be
    while [ $z -le $TOTAL ]
    do
       echo -e "Count $z"
       z=$[$z + xxx]
       # This while loop is for reading the track list previously generated.
       # It would read the line, calculate the track length, 
       # add to $z, cp the track to a folder
       while read line
       do
            secs=$(metaflac --show-total-samples --show-sample-rate "$line" | tr '\n' ' '
            | awk '{print $1/$2}' -)
            z=$[$z + $secs]
            cp $line to destination folder 
       done
    done
done

也许只有我一个人,但我看不到你的代码生成任何最里面的循环可以读取的曲目列表。
readline
应该读取什么?还有,在
z=$[$z+xxx]
中的
xxx
是什么?问题是什么?不过有几点值得注意:
$[
已被弃用。
echo-e
并不意味着你认为它能做什么(或者至少
-e
在这两种情况下都是毫无意义的。)
echo迭代$((i++)
可以很好地工作。分割可以写成
secs=$(metaflac——显示总样本数——显示样本率“$line”| dc-我不确定我最初的问题是什么,但我做了一些修补工作。