我有以下脚本:
for i in 1 2 3
do
alias echo${i}="echo ${i}"
alias aliastest${i}="echo aliastest `echo${i}`"
done在执行它之后,我希望在名字aliastest1,aliastest2,aliastest3中有3个别名。
然而,我得到了:
./test.sh: line 5: echo1: command not found
./test.sh: line 5: echo2: command not found
./test.sh: line 5: echo3: command not found请注意,当尝试从命令行执行echo1、echo2、echo3时,它确实按预期工作。
我做错了什么?
发布于 2015-09-09 21:22:21
默认情况下,仅对交互式shell启用别名扩展。您需要添加
shopt -s expand_aliases添加到脚本的开头。
无论您想定义什么别名,您可能都应该将其定义为shell函数。
https://stackoverflow.com/questions/32480642
复制相似问题