Bash-скрипт: мой скрипт преждевременно удаляет рабочую папку. Как мне исправить?

мой сценарий отлично работает с одним файлом, но если я обрабатываю несколько файлов, он удаляет мою рабочую папку слишком рано, и обрабатывается только один файл. Если я не удалю рабочую папку, сценарий будет работать с несколькими файлами. Вот мой сценарий:

#!/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

Как я могу обработать и переместить все файлы до того, как рабочая папка будет удалена?

2
задан 5 August 2021 в 20:04

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
4
ответ дан 20 August 2021 в 10:29

Другие вопросы по тегам:

Похожие вопросы: