Eigene Umgebungsvariablen im Uberspace

Auch wenn das sehr nach Basiswissen aussieht, lerne ich gerade hinzu, aber möchte euch das Wissen nicht vorenthalten.
Uberspace bietet von Haus aus eine Umgebungsvariable $USER an, die anstelle des Usernames überall eingesetzt werden kann. Was allerdings fehlt wäre $DOMAIN, für User die eine Domain an ihren Uberspace angebunden haben. Blöd wäre es jetzt, wenn $DOMAIN ungültig wird, wenn sich die Domain ändert, somit habe ich versucht eine universelle Umgebungsvariable zu schaffen.

Nach einigen Stunden Recherche und Probearbeiten ist sie hier:

export DOMAIN="$(uberspace-list-domains -w | head -2 | tail -1)"

Dieser Befehl legt sich eine Session-Variable an, die die zweite Zeile der Ausgabe von „uberspace-list-domains -w“ enthält (normalerweise ist dies die erste angebundene Domain nach „user.server.uberspace.de“).

Wer das ganze mit www. haben möchte ändert auf „head -3“ ab.
Damit das ganze jetzt mehrere Sessions überlebt muss das in die .bash_profile datei geschrieben werden.
Diese ruft ihr einfach per

nano .bash_profile

auf und schreibt die Befehle leicht abgeändert herein.

DOMAIN="$(uberspace-list-domains -w | head -2 | tail -1)"
WWWDOMAIN="$(uberspace-list-domains -w | head -3 | tail -1)"

export DOMAIN
export WWWDOMAIN

Damit habt ihr eine Variable im Uberspace, die ständig auf die zweite und eine die ständig auf die ditte Zeile der Ausgabe von uberspace-list-domains -w zeigt. Das head sorgt dafür, dass von der Ausgabe nur 2 oder 3 Zeilen abgeschnitten werden, das tail sorgt dafür, dass von diesen abgeschnittenen Zeilen nur die letzte genommen wird.

Habt ihr allerdings mehr als eine Domain angebunden können die Zeilenangaben wiederum nicht stimmen und ihr müsst sie entsprechend der Ausgabe von von uberspace-list-domains anpassen. Hier könnt ihr mit export-befehlen in der Session arbeiten, die ihr dann immer mit „echo $DOMAIN“ kontrollieren könnt.

Natürlich könnt ihr dort auch Variablen nach belieben wie

export WHOYAGONNACALL='ghostbusters'

oder mehrere sinnvollere Beispiele eintippen, die dann euch ständig zur Verfügung stehen und die Arbeit immer mehr erleichtern.

Cookie-Einwilligung mit Real Cookie Banner