我正在处理在Solaris服务器上运行的KornShell(ksh)脚本,该脚本将在满足错误条件时发送电子邮件.我通过mailx发送电子邮件.
问题: 如何在mailx命令中设置"发件人"电子邮件地址?
现行代码:
echo ${msg_txt} | mailx -s "Script Failure" ${to_email}
Run Code Online (Sandbox Code Playgroud)
注意:该命令工作正常,但是,"From"是我正在运行脚本的用户的名称,我希望将其用于另一个电子邮件地址.
我怎么做到这一点?
我有一个KornShell(ksh)脚本,它登录到SQL*Plus并执行脚本.在shell脚本中,我想捕获已执行的SQL语句的状态代码.目前SQL存在错误,我无法通过检查$?来捕获它.如何从sql语句中捕获成功或错误代码并将其传递给shell脚本.
ksh脚本片段:
sqlplus $JDBC_FBUID_U/$JDBC_FBPWD_U@$JDBC_FBDB @${FBC_HOME}/FBCS003.sql ${outputfile}
if [ $? != 0 ]
then
msg_txt="The execution of Sql script /tmp/FBCS003.sql failed. Please investigate."
echo ${msg_txt}
echo ${msg_txt} | mailx -r ${fromemail} -s "FBCB003: The execution of Sql script /tmp/FBCS003.sql failed." ${toemail}
epage -n ${pagerdef} ${pagernum} "FBCB003: ${msg_txt}"
exit 1
fi
Run Code Online (Sandbox Code Playgroud)
SQL脚本FBCS003.sql
-- Set SQLPlus variables.
SET NEWPAGE 0
SET WRAP OFF
SET LINESIZE 9999
SET ECHO OFF
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING OFF
SET PAGESIZE 0
SET COLSEP …
Run Code Online (Sandbox Code Playgroud) 如何将KornShell(ksh)脚本中的日期格式化为DD-MON-YYYY?
我尝试过以下方法:
date '+%d-%h-%Y'
Run Code Online (Sandbox Code Playgroud)
它返回2009年11月4日我需要11月成为NOV(全部上限).可以使用日期工具完成吗?