Estoy escribiendo un script bash que ejecuta cada uno de sus argumentos como un comando. Esto funciona para comandos en mi PATH
, pero no para alias. Puedo llamar directamente a un alias en el script, pero no puedo llamar a un alias que se haya pasado como argumento.
El problema (supongo) es que los alias se expanden antes que las variables. ¿Hay alguna forma de ejecutar alias desde una variable?
Script de muestra:
#!/bin/bash
# File: runall
shopt -s expand_aliases
source ~/.aliases
while (( "$#" )); do
$1
shift
done
runall "echo test"
funciona, pero runall "myalias"
darunall: line 8: myalias: command not found
eval
variables?