So listen Sie Aliase (Befehl „Alias“) innerhalb eines Skripts auf

So listen Sie Aliase (Befehl „Alias“) innerhalb eines Skripts auf

Ich möchte den Befehl „alias“ aus einem Skript heraus ausführen. Er befindet sich im Bereich „Einstellungen“ des Benutzers. Ich kann „env“ ausführen, möchte danach aber die festgelegten Aliase angeben, die sie/ich über den Befehl „alias“ sehen würden. Gibt es eine Möglichkeit, dies zu tun? Ich habe Folgendes versucht:

if [[ "${command}" == "L" || "${command}" == "l" ]]                     
   then
      echo " "
      echo "Environment settings (env): "
      env
      echo " "
      echo "aliases: "
      `/bin/bash;alias`
      `alias`
      `echo ${BASH_ALIASES[]}`
      /bin/bash;alias
      alias
      echo ${BASH_ALIASES[]}
      echo " "
      echo "Done with Settings. Hit Enter to continue. "
      read settings_trash
   fi

Aber ich bekomme immer nichts/null oder eine neue Shell.

Antwort1

Du brauchsteininteraktive Shellum die Aliase zu sehen.

Das folgende Beispiel bashkann Ihnen wahrscheinlich dabei helfen, ein Skript zu reparieren

bash -c 'alias'  # does not see any alias

bash -ic 'alias' # sees a lot of aliases (in my system)

verwandte Informationen