0

我想要以下内容:

$ DOMAIN=chron echo snippet-www.$DOMAIN.com-head.html 

输出:

snippet.www.chron.com-head.html

但是对于我的生活,除了通过两个命令之外,我无法弄清楚如何做到这一点:

$ export DOMAIN=chron
$ echo snippet-www.$DOMAIN.com-head.html 

有没有办法让它作为一个命令工作?

4

3 回答 3

1

我偶然发现了答案!

只需在变量赋值后添加分号 (;)。

$ DOMAIN=chron; echo snippet-www.$DOMAIN.com-head.html 
snippet-www.chron.com-head.html
于 2012-07-06T04:54:08.390 回答
1
$ ( export DOMAIN=chron ; echo snippet-www.$DOMAIN.com-head.html )

这会产生$DOMAIN一个环境变量(这对于本示例无关紧要,但对于其他类似的命令可能),并将其生命周期限制在括号内。

您的答案:

$ DOMAIN=chron; echo snippet-www.$DOMAIN.com-head.html

导致$DOMAIN成为(非导出的)shell 变量,并为以后的命令保留设置。

于 2012-07-06T05:50:37.203 回答
0

这应该工作

DOMAIN=chron eval 'echo snippet-www.$DOMAIN.com-head.html'
于 2012-07-06T10:40:23.820 回答