
Мой скрипт отлично работает для одного файла, но если я обрабатываю несколько файлов, он слишком рано удаляет мою рабочую папку, и обрабатывается только один файл. Если я не удаляю рабочую папку, скрипт работает с несколькими файлами. Вот мой скрипт:
#!/bin/bash
cd /storage/sort_tv/
mkdir workingfolder
for i in *.mp4;
do name=`echo "$i" | cut -d'.' -f1`
echo "$name"
sudo ffmpeg -i "$i" -map_metadata -1 -c:v copy -c:a copy -map 0:a -map 0:v "workingfolder/${i%.*}.mp4" &&
mv -f workingfolder/* /storage/sort_tv
rm -rf workingfolder
done
Как сделать так, чтобы все файлы были обработаны и перемещены до удаления рабочей папки?
решение1
Вы можете попробовать вынести команды rm из цикла. Например:
#!/bin/bash
cd /storage/sort_tv/
mkdir workingfolder
for i in *.mp4;
do name=`echo "$i" | cut -d'.' -f1`
echo "$name"
sudo ffmpeg -i "$i" -map_metadata -1 -c:v copy -c:a copy -map 0:a -map 0:v "workingfolder/${i%.*}.mp4" &&
done
mv -f workingfolder/* /storage/sort_tv
rm -rf workingfolder