Как использовать вывод команды для процесса в цикле в Bash?

Я пытаюсь получить информацию о формате кучи медиафайлов в каталоге. Скрипт, который у меня есть, проходит через каждый файл, упоминает, в каком формате он находится (если это медиа-файл), а затем завершается.

То, что я действительно хотел сделать, это запустить определенную команду, если результат соответствует определенному значению. вот код, который у меня есть:

for file in ./* do ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -of default=nokey=1:noprint_wrappers=1 "$file" done 

Вот пример вывода, который я получаю, когда запускаю его в папке с 10 файлами и 1 папкой:

 vorbis aac opus vorbis mp3 opus mp3 ./file1.txt: Invalid data found when processing input ./Soundcloud: Is a directory mp3 ./media_bash_file.sh: Invalid data found when processing input 

В идеале, то, что я пытаюсь сделать, – это когда команда ffprobe запускается, я хочу идти

 if ffprobe_output = "vorbis" then run x command ELSE ... 

и так далее. Я пробовал то, что упоминалось в различных сообщениях в блоге об использовании

 var=$(insert_ffprobe_command_here) 

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

 "Argument './Mediafile_X' provided as input filename, but './Mediafile_Y' was already specified. 

Я только добрался до первого фрагмента кода, который я сделал.

 for file in ./* do output=$(ffprobe -v error -select_streams a:0 -show_entries stream=codec_name -of default=nokey=1:noprint_wrappers=1 "$file") if [ "$output" = "vorbis" ];then ...... else .... fi done