Você tem uma extensão dupla porque começou com
for file in *.aif
seguido por
filename=$(basename "$file")
que lhe dará $filename
com um sufixo .aif
. Então você faz
ffmpeg -i "${filename}.aif" -i "${filename}.mp4"
Assim, você acaba com nomes de arquivos com os sufixos .aif.aif
e .aif.mp4
.
Em vez disso, use basename
da seguinte forma:
filename="$( basename "$file" .aif )"
Isso removerá o sufixo .aif
original de $file
(consulte o manual sobre basename
).
Observe que você precisa dar um duplo aspas em todas as expansões de variáveis para lidar com nomes de arquivos com espaços (é um hábito muito bom).