我正在编写一个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
变量很危险?