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*
bash
espanso *foo*
perché corrispondeva, ma passava *bar*
direttamente perché non lo faceva. L' nullglob
opzione dirà a bash di risolvere invece schemi non corrispondenti nella stringa vuota:
$ shopt -s nullglob
$ /tmp/test *bar*
$
zsh: no matches found
.
no_nomatch
attivare questo comportamento.
find . -name *foo*
confind . -name '*foo*'
, i match con i caratteri jolly funzioneranno come previsto.