我有一个在shell脚本中以电子邮件attachmnet的形式发送多个文件的要求。我使用了下面的命令。
(printf "%s\n" "BODY"; uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt ) | mailx -m -s "TEST" emailid@domain.com但是,我想作为attachmnet发送的文件数量是动态的。所以我想分配uuencode ..。对变量进行比较,然后使用它。我试过在下面,
$ ATTACH_CMD=$(echo `cat $OUTPUT_FILE`)
$ echo $ATTACH_CMD
uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt
$ (printf "%s\n" "BODY"; $ATTACH_CMD ) | mailx -m -s "TEST" emailid@domain.com我的错误越来越少了。
sh: uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt: not found.有人能帮我吗?提前谢谢。
发布于 2014-11-06 08:45:43
我终于找到路了。伊瓦尔耍了个小把戏
eval $STR
$ ATTACH_CMD=$(echo `cat $OUTPUT_FILE`)
$ echo $ATTACH_CMD
uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt
$ (printf "%s\n" "BODY"; eval $ATTACH_CMD ) | mailx -m -s "TEST" emailid@domain.com发布于 2014-11-05 11:19:16
你试过使用下面的代码吗?不确定它为什么工作,但也许下面的代码可以用作解决办法
(printf "%s\n" "BODY"; `echo $ATTACH_CMD` ) | mailx -m -s "TEST" emailid@domain.com`?对于$ATTACH_CMD,我使用了echo命令。
https://stackoverflow.com/questions/26755628
复制相似问题