Send email if and only if there is content

 ifne runs the following command if and only if the standard input is not empty. 

Options -n. Reverse operation. Run the command if the standard input is empty.


The ifne command is part of the moreutils package.


$ sudo yum -y install  moreutils

Examples:

$ mysql --login-path=goyun mysql -e "select * from user where user='goyuninfo'\G" | ifne mailx -s "User goyuninfo found in mysql" service@goyun.info

If you don't want to install ifne, the following is the same:

$ output=$(mysql --login-path=goyun mysql -e "select * from user where user='goyuninfo'\G"); [[ -n "$output" ]] && mailx -s "User goyuninfo found in mysql" service@goyun.info

Reverse: 

$ mysql --login-path=goyun mysql -e "select * from user where user='goyuninfo'\G" | ifne -n mailx -s "User goyuninfo not found in mysql" service@goyun.info
Null message body; hope that's ok


Comments