首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数组变量集成到命令中

将数组变量集成到命令中
EN

Stack Overflow用户
提问于 2016-10-19 15:01:58
回答 1查看 32关注 0票数 0

我的目标是调用以下命令:

代码语言:javascript
复制
(echo "test";uuencode testfile1.txt testfile1.txt;uuencode testfile2.txt testfile2.txt)|mail -s "subject" "recipient@domain.com"

在shell中调用它就像预期的那样工作。

但是,当uuencode命令存储在数组中时,我想这样做:

代码语言:javascript
复制
ARR=("uuencode testfile1.txt testfile1.txt" "uuencode testfile2.txt testfile2.txt")

我试过以下几种方法:

代码语言:javascript
复制
STR=$(IFS=';'; echo "${ARR[*]}");
(echo "test";"$STR")|mail -s "subject" "recipient@domain.com"

但我不断地得到以下错误:

代码语言:javascript
复制
uuencode testfile1.txt testfile1.txt;uuencode testfile2.txt testfile2.txt: command not found

怎么解决这个问题?

我想它不承认;是命令分隔符。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-19 15:18:28

看起来,您要将每个命令作为字符串存储在数组中,并将它们连接到一个更大的字符串中。您可以在字符串上执行一个eval

代码语言:javascript
复制
(echo "test";eval "$STR")|mail -s "subject" "recipient@domain.com"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40135115

复制
相关文章

相似问题

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