In meiner Datei /etc/launchd.conf habe ich diese Zeilen hinzugefügt, um genau herauszufinden, wie man Umgebungsvariablen mit globalem Geltungsbereich erstellt, deren Werte Leerzeichen enthalten.
setenv foo1 123456
setenv foo2 "123456"
setenv foo3 123\ 456
setenv foo4 "123\ 456"
setenv foo5 "123 456"
setenv foo6 "123\\ 456"
setenv foo7 '123456'
setenv foo8 '123 456'
setenv foo9 '123\ 456'
setenv foo10 '123\\ 456'
Um zu sehen, was stecken geblieben ist und was die Ergebnisse waren, lief ich set | grep foo
. Das Ergebnis:
foo1=123456
foo2='"123456"'
foo7=''\''123456'\'''
Mir gehen die Ideen aus. Ist das überhaupt möglich? Wenn ja, wie lautet die Syntax?
Verwenden Sie export
statt setenv
.
export foo1=123456
export foo2="123456" # foo2 should now have the same value as foo1
export foo3=123\ 456
export foo4="123 456" # foo4 should now have the same value as foo3
export
Befehl (der keine Argumente akzeptiert) exportiert einfach die gesamte Umgebung als eine Reihe von Befehlen, die für die Übergabe an eine Shell geeignet sind. Zum Beispiel:SHELL="/bin/bash"; export SHELL;
Emil
Steve
Steve