J'écris un script bash qui exécute chacun de ses arguments en tant que commande. Cela fonctionne pour les commandes dans my PATH
, mais pas pour les alias. Je peux appeler directement un alias dans le script, mais je ne peux pas appeler un alias qui a été passé en argument.
Le problème (je suppose) est que les alias sont développés avant les variables. Existe-t-il un moyen d'exécuter des alias à partir d'une variable?
Exemple de script:
#!/bin/bash
# File: runall
shopt -s expand_aliases
source ~/.aliases
while (( "$#" )); do
$1
shift
done
runall "echo test"
fonctionne, mais runall "myalias"
donnerunall: line 8: myalias: command not found
eval
variables?