Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/windows-phone-8/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 验证存在多个附件或mailx命令的大小为-ge 0_Bash_Attachment_Mailx - Fatal编程技术网

Bash 验证存在多个附件或mailx命令的大小为-ge 0

Bash 验证存在多个附件或mailx命令的大小为-ge 0,bash,attachment,mailx,Bash,Attachment,Mailx,我们有一个运行并生成多个文件的脚本,但不是每个文件都有内容。脚本将任何输出写入单个文件,但我们将结果分解到其他文件。文件包含ping结果(缓慢、不可访问、不可访问),因此在某些情况下,我们可以访问所有文件,以便最初创建其他两个文件,但在脚本结束时,其中可能没有任何内容。我们有删除文件的行,但是在邮件发送之后,所以我们有附加的文件,这些文件在那里,但是是空的 除了编写只附加具有行或内容的文件的多if条件语句之外,还有其他方法吗 这是mailx发送带有附件的电子邮件的线路: (cat $FINAL)

我们有一个运行并生成多个文件的脚本,但不是每个文件都有内容。脚本将任何输出写入单个文件,但我们将结果分解到其他文件。文件包含ping结果(缓慢、不可访问、不可访问),因此在某些情况下,我们可以访问所有文件,以便最初创建其他两个文件,但在脚本结束时,其中可能没有任何内容。我们有删除文件的行,但是在邮件发送之后,所以我们有附加的文件,这些文件在那里,但是是空的

除了编写只附加具有行或内容的文件的多if条件语句之外,还有其他方法吗

这是mailx发送带有附件的电子邮件的线路:

(cat $FINAL) | mailx -s "Application ${VER} BashScript processing results" 
-a $LOGFILE -a $INACHOSTLIST -a $FAILHOSTLIST -a $SLOWHOSTLIST

如果$INACHOSTLIST、$FAILHOSTLIST或$SLOWHOSTLIST中的任何一个为空,我宁愿不附加它们。让他们什么都不带似乎很琐碎,但试图清理这个过程。这是否需要通过if语句验证每个可能的组合?

您可以使用
test-z
<代码>[[-z$INACHOSTLIST | |-z$FAILHOSTLIST | |…]。作为一个补充说明,围绕着猫的潜艇没有做任何事情,你根本不需要管道。您可以在FINAL中输入以下字符串:
mailx。。。使用if语句有什么错?我不认为这是一个真正的问题,因为真正做到这一点的唯一方法是使用流控制,即“if”语句,可以是详细的,也可以是浓缩到“test”、“[”或“[”,无论哪种方式,您都应该专注于不创建空文件,这样您就可以附加所有现有文件而不必担心它(cat$FINAL)| mailx…正在将$FINAL的内容放入电子邮件正文。我尝试了许多不同的方法(在任何地方都可以找到,而且我自己也知道)除此之外,没有任何东西会将内容放入电子邮件。也感谢您关于vars的说明!从其他人的脚本开始工作,进行更新和更改,但注意到!不反对使用if语句,而是询问是否有方法验证附件文件,当一个或多个文件可能为空而不耗尽所有文件时组合。哦,我错了,我的意思是
mailx<“$FINAL
不是一个字符串。这和
(cat$FINAL)|一样好(甚至更好)。该死,这对将内容放入电子邮件起到了作用。:D mailx…<“$FINAL”谢谢@DTSCode