Bash 使用mailx在电子邮件中以附件形式发送多个文件

Bash 使用mailx在电子邮件中以附件形式发送多个文件,bash,shell,unix,mailx,Bash,Shell,Unix,Mailx,我有一个requiremnet,可以在shell脚本中以电子邮件附件的形式发送多个文件。我使用了下面的命令 (printf "%s\n" "BODY"; uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt ) | mailx -m -s "TEST" emailid@domain.com 但是,我想作为附件发送的文件数量是动态的。所以我想分配uuencode。。。comand到一个变量,然后使用它。我试过下面的方法 $ ATTACH_

我有一个requiremnet,可以在shell脚本中以电子邮件附件的形式发送多个文件。我使用了下面的命令

(printf "%s\n" "BODY"; uuencode out.txt out.txt ; uuencode asgda.txt asgda.txt ) | mailx -m -s "TEST" emailid@domain.com
但是,我想作为附件发送的文件数量是动态的。所以我想分配uuencode。。。comand到一个变量,然后使用它。我试过下面的方法

$ 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.

谁能帮我一下吗?提前感谢。

您是否尝试过使用以下代码?不确定它为什么会工作,但也许下面的代码可以用作解决方法

(printf "%s\n" "BODY"; `echo $ATTACH_CMD` ) | mailx -m -s "TEST" emailid@domain.com`?

对于
$ATTACH\u CMD
我使用了
echo
命令。

我终于找到了方法。埃瓦尔成功了

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

我今天在下面尝试了-$echo$(echo$ATTACH_CMD)uuencode out.txt out.txt;uuencode out.txt out.txt(printf“%s\n”BODY“;$(echo$ATTACH_CMD))| mailx-m-s“TEST”mail@domain.com我已收到电子邮件,但未收到附件。相反,bosy有tect“用法:uuencode[source]remotedest”请帮助