In meiner Datei /etc/launchd.conf habe ich diese Zeilen hinzugefügt, um genau herauszufinden, wie Umgebungsvariablen mit globalem Gültigkeitsbereich erstellt werden, 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 steckte und was die Ergebnisse waren, rannte ich set | grep foo
. Das Ergebnis:
foo1=123456
foo2='"123456"'
foo7=''\''123456'\'''
Ich habe keine Ideen mehr. Ist das überhaupt möglich? Wenn ja, wie lautet die Syntax?
mountain-lion
launchd
environment-variables
Distortum
quelle
quelle
Antworten:
Verwenden Sie
export
anstelle vonsetenv
.quelle
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;