Ich dachte immer, ich Anführungszeichen um $() in bash setzen müssen, wie in:
FOO="$(echo "bar baz")"
aber anscheinend ist dies nicht notwendig, mindestens während variable Zuordnung:
$ FOO=$(echo "foo bar")
$ echo "$FOO"
foo bar
Wenn ich dagegen versuche, einer Variablen mehrere Wörter zuzuweisen, erhalte ich eine Fehlermeldung, weil sie als "Variable für Dauer des nachfolgenden Befehls einstellen" interpretiert wird:
$ FOO=bar fooooo
fooooo: command not found
Auch, wenn ich nur $() verwenden, ohne Anführungszeichen in Nicht-Zuordnung Kontext, sind sie wieder als getrennte Wörter behandelt:
$ echo $(echo "baa beee")
baa beee
Also, was sind die Regeln bezüglich $() und "" Interaktion und wie sicher ist die Nicht-Quote-Variante? Ich wäre besonders dankbar für Manpage-Zitate oder andere maßgebliche Referenzen. Gibt es hier auch "gute Praxis/Stil"?
Danke für die Verknüpfung der Duplikate! Ich konnte keinen selbst finden. – akavel