Risposte:
Se bash non riesce a trovare una corrispondenza, passa la stringa letterale all'applicazione con *s non espanso. Per esempio:
$ ls
foo
$ cat /tmp/test
echo $1
$ /tmp/test *foo*
foo
$ /tmp/test *bar*
*bar*
bashespanso *foo*perché corrispondeva, ma passava *bar*direttamente perché non lo faceva. L' nullglobopzione dirà a bash di risolvere invece schemi non corrispondenti nella stringa vuota:
$ shopt -s nullglob
$ /tmp/test *bar*
$
zsh: no matches found.
no_nomatchattivare questo comportamento.
find . -name *foo*confind . -name '*foo*', i match con i caratteri jolly funzioneranno come previsto.