Ich habe ein einfaches Skript erstellt, um einen Alias auf einem ESXi 6.7-Host einzurichten:
#!/bin/sh
alias ll="ls -la"
echo "Profile done"
Wenn ich das Skript ausführe, wird die Echo-Meldung auf dem Bildschirm angezeigt, aber der Alias ist nicht festgelegt. Wenn ich den Alias-Befehl jedoch von einer Eingabeaufforderung aus ausführe, funktioniert es einwandfrei.
Kann jemand erklären, wie man über ein Skript einen Alias einrichtet?
Antwort1
Bei mir funktioniert das wie erwartet. Stellen Sie sicher, dass Sie das Skript wie folgt als Dot-Source angeben:
. ~/.profile
anstatt es so auszuführen
~/.profile
Letzteres startet einen neuen Shell-Prozess, in dem der Alias erstellt wird, beendet dann aber die gestartete Shell und lässt die ursprüngliche aufrufende Shell unverändert.
Wenn Sie Ihr Skript als ~/.profile speichern, wird es auch dann richtig als Quelle verwendet, wenn Sie sich ab- und wieder anmelden.