Ich verwende Mac OSX und versuche, einige neue Eingabeaufforderungseinstellungen im Terminal auszuprobieren. Hier ist mein Setup
$ echo $PS1
$ \h:\W \u\$
Diese Eingabeaufforderung funktioniert einwandfrei. Aber wenn ich tippe
$ export $PS1="test"
Ich erhalte die folgenden Fehler
-bash: export: `\h:\W': not a valid identifier
-bash: export: `\u\$': not a valid identifier
-bash: export: `=test': not a valid identifier
Irgendwelche Ideen, warum das passiert? Ich habe keine .bashrc-Datei, aber ich habe eine /etc/bashrc-Datei
Antwort1
Dies $
wird nur beim Auslesen des aktuellen Wertes benötigt.
export PS1="test"
Antwort2
Ihr Exportbefehl hat die Prompt-Variable erweitert und versucht, die Zeichenfolge "\h:\W \u\" zu exportieren. Sie haben eine Fehlermeldung erhalten, weil diese drei Teilzeichenfolgen nicht als Variablennamen existieren. Wie Ignacio Vazquez-Abrams angegeben hat, müssen Sie das führende "$" im Exportbefehl löschen, damit die PROMPT-Variable wie beabsichtigt exportiert wird. Kurzfassung: Durch die Angabe der zu erweiternden PROMPT hat der Befehl versucht, das Falsche zu exportieren.