Alias ​​aus SH-Skript in ESXi 6 festlegen

Alias ​​aus SH-Skript in ESXi 6 festlegen

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.

verwandte Informationen