在shell脚本中执行mailx命令
发布时间:2020-12-15 21:14:22 所属栏目:安全 来源:网络整理
导读:我有一个简单的 shell脚本执行.sql脚本. .sql脚本完成后,shell脚本会将电子邮件发送到指定的地址,通知.sql脚本是否成功运行. 我的问题是主题行被截断.我使用简单的IF语句来确定主题行: grep 'ORA-' $OUTFILE /dev/null 21if [ $? = 1 ]; then ERRORS=n SUBJ
我有一个简单的
shell脚本执行.sql脚本. .sql脚本完成后,shell脚本会将电子邮件发送到指定的地址,通知.sql脚本是否成功运行.
我的问题是主题行被截断.我使用简单的IF语句来确定主题行: grep 'ORA-' $OUTFILE > /dev/null 2>&1 if [ $? = 1 ]; then ERRORS=n SUBJECT= "$VERSION script successful" else ERRORS=y SUBJECT="$VERSION script had error(s)" fi 这很好用.但是,当我执行mailx命令时,主题行将被截断为“开发”或“生产”,具体取决于已执行的脚本的版本: mailx -s $SUBJECT $EMAIL < $MAILFILE 我知道如果主题行包含嵌入空格,则主题行必须是双引号,但是当分配给变量时,这似乎不能正常工作. 有没有解决的办法?有没有办法逃避双引号 解决方法
您需要在使用时引用$SUBJECT,即
mailx -s "$SUBJECT" $EMAIL < $MAILFILE 也应该没有空间 SUBJECT="$VERSION script successful" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |