Ich schreibe ein Bash-Skript, das jedes seiner Argumente als Befehl ausführt. Dies funktioniert für Befehle in my PATH
, jedoch nicht für Aliase. Ich kann einen Alias im Skript direkt aufrufen, aber ich kann keinen Alias aufrufen, der als Argument übergeben wurde.
Das Problem (ich nehme an) ist, dass Aliase vor Variablen erweitert werden. Gibt es eine Möglichkeit, Aliase aus einer Variablen auszuführen?
Beispielskript:
#!/bin/bash
# File: runall
shopt -s expand_aliases
source ~/.aliases
while (( "$#" )); do
$1
shift
done
runall "echo test"
funktioniert, runall "myalias"
gibt aberrunall: line 8: myalias: command not found
eval
Variablen?