我有一个创建 '.tar' 文件的 bash 脚本。创建文件后,我想测试其完整性,如果完整性不好,则向 root 用户发送电子邮件。
我知道我需要使用该命令tar -tf /root/archive.tar
来检查文件的完整性,但是我将如何在 bash if 语句中实现它并检查错误?
And*_*ese 44
如果tar
在其输入中发现错误,它将exit(3)
以非零退出值 ¹。这 - 对于大多数tar
实现 - 在列出带有t
. 因此,您可以简单地检查 的退出值tar
以确定是否出现问题:
if ! tar tf /root/archive.tar &> /dev/null; then
write_an_email_to_root
fi
Run Code Online (Sandbox Code Playgroud)
如果您tar
没有找到所有错误t
,您仍然可以将存档提取到stdout
并重定向stdout
到/dev/null
,这将是更慢但更可靠的方法:
if ! tar xOf /root/archive.tar &> /dev/null; then
write_an_email_to_root
fi
Run Code Online (Sandbox Code Playgroud)
¹ 此符号表示联机帮助页,而不是实际调用。见man 3 exit
。
归档时间: |
|
查看次数: |
71102 次 |
最近记录: |