gpt4 book ai didi

shell - 在 shell 脚本中执行 mailx 命令

转载 作者:行者123 更新时间:2023-12-05 00:04:01 25 4
gpt4 key购买 nike

我有一个执行 .sql 脚本的简单 shell 脚本。当 .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"

关于shell - 在 shell 脚本中执行 mailx 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6128614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com