Variable setzen

M

macfan

Aktives Mitglied
Thread Starter
Dabei seit
30.07.2002
Beiträge
199
Reaktionspunkte
1
Hallo zusammen,
ich benötige am Mac (OS X 10.11.6) einen Variable "COMPUTERNAME". Diese hätte ich wie folgt gesetzt: launchctl setenv COMPUTERNAME "iMacOffice" (im Terminal).

Wenn ich mir das dann ansehe mit echo $COMPUTERNAME kommt nichts zurück.

Was ist falsch?

Also idealerweise sollte der Hostname mit der Computername ident sein. Ich hätte es mir so gedacht:
launchctl setenv COMPUTERNAME = $HOSTNAME

Funktioniert aber auch nicht! Bitte um Hilfe. Danke
 
warum machst du das über launchctl und nicht über die shell direkt?
denke mal, du musst deine shell neu starten nach der änderung, damit der prozess neu gestartet wird und die variable von launchd neu übernimmt.
 
warum machst du das über launchctl und nicht über die shell direkt?
denke mal, du musst deine shell neu starten nach der änderung, damit der prozess neu gestartet wird und die variable von launchd neu übernimmt.


Kenn mich zu wenig aus. Was meinst du mit Shell direkt?

Komisch inzwischen dürfte es aber trotzdem geklappt haben mit: launchctl setenv COMPUTERNAME "iMacOffice"
Ev. hat ein Rechnerstart geholfen.

Aber jetzt trotzdem, wie würde der Befehl gehen damit der Hostname ident mit der "neuen" varibale COMPUTERNAME ist?
Muß auch nicht übers Terminal sein?!?
Danke
 
Code:
COMPUTERNAME=${HOSTNAME}
# falls HOSTNAME noch nicht gesetzt ist, könnte scutil gehen
# COMPUTERNAME="$(scutil --get HostName)"
# man scutil
# scutil --get HostName
# scutil --get LocalHostName
# scutil --get ComputerName
in die /etc/profile oder /etc/bashrc eintragen.
 
Code:
COMPUTERNAME=${HOSTNAME}
# falls HOSTNAME noch nicht gesetzt ist, könnte scutil gehen
# COMPUTERNAME="$(scutil --get HostName)"
# man scutil
# scutil --get HostName
# scutil --get LocalHostName
# scutil --get ComputerName
in die /etc/profile oder /etc/bashrc eintragen.

Ok, das funktioniert so weit manuel aber ich möchte das jetzt mit einem Loginscript lösen.

Eine neue Variable soll ident mit LocalHostName sein.

Wie geht das?

launchctl setenv COMPUTERNAME LocalHostName

Da kommt dann LocalHostName zurück und nicht iMacOffice.
Ein $ davor geht auch nicht. Finde absolut nichts über Google.
 
Oder
launchctl setenv COMPUTERNAME $HOSTNAME

Das funktioniert jetzt auch aber es bringt als Ergebnis: iMacOffice.local

Es sollte aber ohne .local sein. Also nur "iMacOffice"
Hm, bin um jede Hilfe dankbar.
 
Ok, das funktioniert so weit manuel aber ich möchte das jetzt mit einem Loginscript lösen.
steht eigentlich doch alles drin in #4. und wieso nur manuell?
was ist denn bei dir ein loginscript?
 
steht eigentlich doch alles drin in #4. und wieso nur manuell?
was ist denn bei dir ein loginscript?

Naja, grundsätzlich funktioniert es ja auch. Es kommt halt als Ergebniss auch nur iMacOffice.local raus.

Das Loginscript mountet Laufwerke, setzt Einstellungen usw. nach dem Anmelden.
 
Irgendwie ist es sehr seltsam. Ich hab
COMPUTERNAME=${LocalHostName}
drei oder 4 mal versucht. Es hat nie so wirklich geklappt. Jetzt hab ichs nochmals versucht und siehe da ...
Danke auf jeden Fall.
 
ich wollte auch wissen, was das loginscript ist? ein applescript, ein shellscript? und wo liegt es normalerweise?

COMPUTERNAME=${LocalHostName} kann nur funktionieren, wenn es $LocalHostName gibt. wo hast du die denn gesetzt? und warum machst du es nicht direkt mit scutil?
 
ich wollte auch wissen, was das loginscript ist? ein applescript, ein shellscript? und wo liegt es normalerweise?

COMPUTERNAME=${LocalHostName} kann nur funktionieren, wenn es $LocalHostName gibt. wo hast du die denn gesetzt? und warum machst du es nicht direkt mit scutil?


Es ist eine Automatorapp (AppleScript). $LocalHostName gibt es. Ich hab obigen Befehl einfach in diesem Automatorscript zu Schluß angehängt.
Es tut auf jeden Fall.
 
scutil --get LocalHostName
gibt
iMacOffice



Ich brauchs nur in dem Script.
 
du schreibst verwirrend, aber du scheinst es ja jetzt zu haben. :p
 
Zurück
Oben Unten