Using mkvmerge
, I want to add audio tracks to several MKV clips that are arranged like this
Clips_folder
/spa/clip1.mka
/spa/clip2.mka
/ger/clip1.mka
/ger/clip2.mka
/clip1.mkv
/clip2.mkv
That's the script I have (based on 'Append argument to arguments list'):
#!/bin/zsh
mkdir -p output
for video in *.mkv
do
audioargs=("-o ./output/${video} --language 0:eng ${video}")
for audiodir in *(/)
do
audioargs+=("--language 0:${audiodir} ./${audiodir}/${video:r}.mka")
done
echo ${audioargs[@]}
done
That's the output:
-o ./output/clip1.mkv --language 0:eng clip1.mkv --language 0:spa ./spa/clip1.mka --language 0:ger ./ger/clip1.mka
But when I change it to mkvmerge ${audioargs[@]}
I get
mkvmerge v45.0.0 ('Heaven in Pennies') 64-bit
Error: no destination file name was given
How do I correctly pass audioargs
to mkvmerge
so that it's expanded to mkvmerge -o file --language ...
etc?