首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能在bash脚本中使用反引号内的别名

不能在bash脚本中使用反引号内的别名
EN

Stack Overflow用户
提问于 2015-09-09 21:16:41
回答 1查看 122关注 0票数 1

我有以下脚本:

代码语言:javascript
复制
for i in 1 2 3 
do
 alias echo${i}="echo ${i}"
 alias aliastest${i}="echo aliastest `echo${i}`"
done

在执行它之后,我希望在名字aliastest1,aliastest2,aliastest3中有3个别名。

然而,我得到了:

代码语言:javascript
复制
./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时,它确实按预期工作。

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2015-09-09 21:22:21

默认情况下,仅对交互式shell启用别名扩展。您需要添加

代码语言:javascript
复制
shopt -s expand_aliases

添加到脚本的开头。

无论您想定义什么别名,您可能都应该将其定义为shell函数。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32480642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档