Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.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/5/bash/17.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
Linux 如何将IF语句实现到while循环中,并使while循环无限期地运行?(猛击)_Linux_Bash_If Statement_While Loop - Fatal编程技术网

Linux 如何将IF语句实现到while循环中,并使while循环无限期地运行?(猛击)

Linux 如何将IF语句实现到while循环中,并使while循环无限期地运行?(猛击),linux,bash,if-statement,while-loop,Linux,Bash,If Statement,While Loop,以我做的以下while循环为例,它输出“string”每60秒出现在文件中的次数(file path和string ommited) while true; do /path/to/file | grep -i "string" | wc -l; sleep 60; done 实现IF语句的最佳/最简单的方法是什么,这样,如果输出超过100,我就可以发送电子邮件。我需要while循环无限期地继续运行 您可以利用这样一个事实,即您可以通过管道直接连接到另一个包含if语句的命令 while tru

以我做的以下while循环为例,它输出“string”每60秒出现在文件中的次数(file path和string ommited)

while true; do /path/to/file | grep -i "string" | wc -l; sleep 60; done

实现IF语句的最佳/最简单的方法是什么,这样,如果输出超过100,我就可以发送电子邮件。我需要while循环无限期地继续运行

您可以利用这样一个事实,即您可以通过管道直接连接到另一个包含
if
语句的命令

while true; do
  /path/to/file | grep -i "string" | wc -l | {
    read count
    if [[ $count -gt 100 ]]; then
      send_email
    fi
    echo "$count"
  }
done