【发布时间】:2017-10-28 05:44:41
【问题描述】:
美好的一天。
在我的脚本中,有'ls'命令运行,该命令会列出某个目录下的文件内容,例如,
....
....
for i in `/usr/bin/ls 2>/dev/null /home/example/path/<file_name>`; do
---some statement----
done
----
----
但是,当上面的“ls”命令在目录中找不到任何文件时,root 将收到如下消息通知:
/bin/ls: 无法访问 /home/example/path/ : 没有这样的文件或目录
我知道这是由于该命令在执行时产生的退出代码,我知道我们可以通过在 ls 命令之后添加“|| true”命令来解决此问题,这使得退出代码始终为值“0” ,例如,
------
for i in `/usr/bin/ls 2>/dev/null /home/example/path/<file_name> || true`;
------
或者我们可以使用代码逻辑来解决问题,例如,
if [ -r /home/example/path/<file_name> ]
但是,修复现有代码不是我的解决方案,因为此代码不属于我的团队责任。
由于我们需要解决服务器中收到根邮件通知的问题,我的服务器中是否有任何配置或设置可以更改以忽略或停止守护程序以仅向根邮件发送错误通知.
我的服务器:- AIX 6 和 7, RHEL 6 和 7
【问题讨论】:
-
发送电子邮件的部分在哪里?它真的是守护进程还是由 crontab 条目启动的脚本?
-
@Cyrus 对不起,它不是守护进程,它是从 crontab 运行的脚本