Bash 使用mailx在电子邮件中以附件形式发送多个文件
我有一个requiremnet,可以在shell脚本中以电子邮件附件的形式发送多个文件。我使用了下面的命令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_
(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”请帮助