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 -nw
direkte Aufrufen Emacs perfekt öffnet.
Warum?
zsh
wie erwartet. Bei der Eingabe $cmd
wird 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.