Folgendes funktioniert in meiner Shell (zsh):
> FOO='ls'
> $FOO
file1 file2
aber das nicht:
> FOO='emacs -nw'
> $FOO
zsh: command not found: emacs -nw
obwohl das emacs -nwdirekte Aufrufen Emacs perfekt öffnet.
Warum?
zshwie erwartet. Bei der Eingabe $cmdwird der Befehl ausgeführt, in dessen Namen gespeichert ist $cmd. bash(und die meisten anderen Bourne wie Muscheln) invoke der Split + glob Operator auf unquoted Variablen zsh festgelegt , dass.