### 获取已转换的歌曲目录 existSongs(){ array_songs=() for name in ../mac/*.wav do name=${name%.*} array_songs=("${array_songs[@]}",${name##*/}) done existSongsLine echo${array_songs[@]} }
array_songs=($(existSongs)) #建立已转换歌曲的数组变量
#判断是否有新的歌曲需要转换成wav for name in *.flac;do
name=${name%.*} if [[ "${array_songs[@]}" =~ "${name}" ]]; then existSongsLine echo"${name}.flac 已转换成wav" elif [[ ! "${array_songs[@]}" =~ "${name}" ]]; then addSongsLine echo"${name}.flac 正在转换成wav" add=1 ffmpeg -i "${name}.flac""../mac/${name%.*}.wav" existSongsLine echo"${name}.flac 已转换成wav" fi done
#提示歌曲是否增加,其实还可以加入打印歌曲数量的功能 if [[ ${add} -eq 0 ]]; then echo -e "\n" addSongsLine echo"没有要转换的flac歌曲" addSongsLine fi