检查命令的标准输出,如果等于值,则停止循环[重复]

Posted

技术标签:

【中文标题】检查命令的标准输出,如果等于值,则停止循环[重复]【英文标题】:Check the stdout of a command, if is equal to value, stop for loop [duplicate] 【发布时间】:2019-07-31 22:11:06 【问题描述】:

我试图在挑战中暴力破解此引脚,nc localhost 30002 的输出是:“错误!请再试一次”如果它错了。我想设置一个 IF 条件来检查输出是否不同于“错误!”并停止 FOR 循环

#!/bin/bash
for ((i=1000;i<10000;i++));
do
    echo "$i" | nc localhost 30002 >> /tmp/script_dir/output &
sleep 1
done

【问题讨论】:

【参考方案1】:

for 循环中进行您想要的测试。如果满足所需条件,break

中断 [n]

退出 for、while、until 或 select 循环。如果提供了 n,则退出第 n 个封闭循环。 n 必须大于等于 1。除非 n 不大于等于 1,否则返回状态为零。

【讨论】:

以上是关于检查命令的标准输出,如果等于值,则停止循环[重复]的主要内容,如果未能解决你的问题,请参考以下文章

linux命令 SHELL编程:从键盘输入一个数,若大于0,则输出该数;若小于或等于0,则输出0值。程序怎么写

有条件地检查数组是不是等于特定值[重复]

如果条件满足,则递减数组并打印一个值

如果所有值都相同,则循环遍历 bash 测试中的列 - AWK

oracle怎么写IF语句?

OGG切换步骤