それぞれの引数をコマンドとして実行するbashスクリプトを書いています。これはmyのコマンドでは機能しますが、PATH
エイリアスでは機能しません。スクリプトで直接エイリアスを呼び出すことはできますが、引数として渡されたエイリアスを呼び出すことはできません。
問題(私は想定)は、エイリアスが変数の前に展開されることです。変数からエイリアスを実行する方法はありますか?
サンプルスクリプト:
#!/bin/bash
# File: runall
shopt -s expand_aliases
source ~/.aliases
while (( "$#" )); do
$1
shift
done
runall "echo test"
動作しますがrunall "myalias"
、runall: line 8: myalias: command not found
eval
変数にとって危険なのですか?