'mutt'没有显示完整的主题

时间:2015-04-24 04:28:44

标签: linux shell ssh quoting mutt

我使用以下shell脚本发送电子邮件。但电子邮件的主题始终显示“此”而不是"This is L_1.R"

    program=("L_1" "L_2" "L_3" "L_4")
    subject="The job is finished"
    ssh -f c15-0330-01.ad.mtu.edu 'echo' "the job ${program[0]} is finished"   '|' 'mutt "zwang10@mtu.edu" -s' "This is "${program[0]}".R";

2 个答案:

答案 0 :(得分:0)

移动你的单引号。

ssh -f c15-0330-01.ad.mtu.edu 'echo' "the job ${program[0]} is finished" \
'|' 'mutt "zwang10@mtu.edu" -s "This is "'${program[0]}'".R";'
编辑:我把变量放在引号之外。主要是空间被覆盖。

答案 1 :(得分:0)

首先从你想要的远程命令开始看起来,只有极少的引用:

echo the job L_1 is finished | mutt zwang10@mtu.edu -s 'This is L_1.R'

只需要引用一些东西就可以将它们直接传递给远程shell:管道字符和主题周围的引号,以使空格不会将其拆分为mutt的单独参数。

program=("L_1" "L_2" "L_3" "L_4")
subject="The job is finished"
ssh -f c15-0330-01.ad.mtu.edu echo the job ${program[0]} is finished '|' mutt zwang10@mtu.edu -s "'"This is ${program[0]}.R"'";

使用更长的命令,执行相同的操作:

cd $address && nohup Rscript ${program[0]}.R > ${program[0]}_sh.txt && echo the job ${program[0]} is finished | mutt zwang10@mtu.edu -s 'This is ${program[0]}.R'

(仅替换变量)。

在这里,需要引用一些内容:

ssh -f c15-0330-01.ad.mtu.edu cd $address '&&' nohup Rscript ${program[0]}.R '>' ${program[0]}_sh.txt '&&' echo the job ${program[0]} is finished '|' mutt zwang10@mtu.edu -s "'"This is ${program[0]}.R"'"