Se o bash não puder encontrar uma correspondência, ele passará a string literal para o aplicativo com *
s unexpanded. Por exemplo:
$ ls
foo
$ cat /tmp/test
echo $1
$ /tmp/test *foo*
foo
$ /tmp/test *bar*
*bar*
bash
expandido *foo*
porque correspondeu, mas transmitiu *bar*
diretamente porque isso não aconteceu. A opção nullglob
dirá ao bash para resolver padrões não correspondentes para a string vazia:
$ shopt -s nullglob
$ /tmp/test *bar*
$