Erro de sintaxe: “(” inesperado - com! (*. Sh) no script bash

Eu quero executar um arquivo sh:

#!/bin/bash
for f in !(*.sh); do
    ffmpeg -i "$f" -vf yadif=0:-1 -threads 0 -c:v libx264 -pix_fmt yuv420p \
        -r 29.97 -b:v 3000k -s 1280x720 -preset:v slow -profile:v Main \
        -level 3.1 -bf 2 -movflags faststart /mnt/media/out-mp4/"${f%.mxf}.mp4"
    rm $f
done

No entanto, eu recebo o seguinte erro:

2: task1.sh: Syntax error: "(" unexpected

Se eu tentar diretamente na linha de comando, ele funcionará perfeitamente.

o caminho e as permissões já foram revisados

Alguma idéia do que pode estar acontecendo?

questionAnswers(2)

yourAnswerToTheQuestion