使用多个while循环和read行的bash脚本
我正在尝试写一个bash脚本来创建一些音乐播放列表。让我卡住的部分是读取行的while循环。我想我是想得太多了,所以我求助于stackoverflow使用多个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
# 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-我不确定我最初的问题是什么,但我做了一些修补工作。