Estou escrevendo um script bash que executa cada um de seus argumentos como um comando. Isso funciona para comandos no meu PATH
, mas não para aliases. Posso chamar diretamente um alias no script, mas não posso chamar um alias que foi passado como argumento.
O problema (suponho) é que os aliases são expandidos antes das variáveis. Existe uma maneira de executar aliases de uma variável?
Exemplo de script:
#!/bin/bash
# File: runall
shopt -s expand_aliases
source ~/.aliases
while (( "$#" )); do
$1
shift
done
runall "echo test"
funciona, mas runall "myalias"
dárunall: line 8: myalias: command not found
eval
variáveis?