首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在循环中运行命令,直到我在stdout中看到一些字符串?

在循环中运行命令,直到在stdout中看到某些字符串,可以使用以下方法:

  1. 使用shell脚本:
代码语言:bash
复制
until echo "$(command)" | grep -q "字符串"; do
  command
done

这个脚本将不断运行命令,直到命令的输出包含指定的字符串。

  1. 使用Python脚本:
代码语言:python
代码运行次数:0
复制
import subprocess

while True:
    output = subprocess.check_output(command, shell=True)
    if "字符串" in output.decode("utf-8"):
        break

这个脚本将不断运行命令,直到命令的输出包含指定的字符串。

在这两个示例中,command是要运行的命令,字符串是要在stdout中查找的字符串。请注意,这些示例仅适用于Linux和macOS系统。

推荐的腾讯云相关产品:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Argo CD 实践教程 02

如果清单没有变化,那么kubectl apply命令集群没有什么可修改的,我们一个循环中完成所有这些操作,该循环与本章前面介绍的控制循环非常相似。...我们看到这种协调是如何反复进行的,直到没有发现更多差异,这就是实际的循环。 这在laC设置不会发生;讨论应用基础架构更改时,没有操作员或控制器。...更新是通过推送模式完成的,这意味着GitOps拉取方式安全性方面更好,因为它不是拥有生产凭据的管道,而是你的代理存储这些凭据,并且它可以与生产相同的帐户运行——或者至少一个独立但值得信赖的账户运行...这是一种远程设置运行代理(可能是Atlantis)的方式,因此所有命令都将不从管道执行,而是由代理执行。...我们检查了API服务器如何连接一切以及控制器如何工作,介绍了其中的一些控制器,并解释了它们如何在无穷无尽的控制循环中对状态变化做出反应。

25230

何在Node.js编写和运行您的第一个程序

实时应用程序(视频流或连续发送和接收数据的应用程序)Node.js编写时可以更高效地运行本教程,您将使用Node.js运行时创建第一个程序。...您将了解一些特定于Node的概念,并构建一个程序,帮助用户检查其系统上的环境变量。 为此,您将学习如何将字符串输出到控制台,接收来自用户的输入以及访问环境变量。...的console对象提供了简单的方法来写入stdout , stderr或任何其他Node.js流,大多数情况下是命令行。...log方法打印到stdout流,因此您可以控制台中看到它。 Node.js的上下文中, 流是可以接收数据的对象,stdout流,或者可以输出数据的对象,网络套接字或文件。...process.env对象是环境变量名称与作为字符串存储的值之间的简单映射。 与JavaScript的所有对象一样,您可以通过方括号引用其名称来访问单个属性。

8.7K30
  • Rust 开发命令行工具(上)

    当然,里面的有一些内容也会做一些简单的梳理和讲解。这个就因人而异了,看大家实际情况吧。 ❝由于篇幅的原因,我们打算写三篇文章(上//下),来介绍如何用Rust来编写属于自己的命令行工具。...一些常见的 grep 用法示例: 文件搜索特定字符串(不区分大小写): grep -i "search_text" file.txt 多个文件递归搜索特定字符串并显示包含匹配项的文件名: grep...并且Cargo.toml文件的[package]部分设置edition = "2021"。 ❞ 如果,「版本不对」会有一些库的兼容性问题,所以最好大家在运行代码前,做一下代码配置和相关的处理。...然后,打开一个终端并导航到我们想要放置应用程序代码的目录。 首先,存储编程项目的目录运行以下命令:cargo new f789。...程序名称后面的文本通常被称为命令行参数或命令行标志(特别是当它们看起来像--这样时)。 ❝操作系统内部通常将它们表示为「字符串列表」 - 简而言之,它们由空格分隔。

    73640

    Python基础教程之循环

    1. for 坏 for 循环用于迭代序列(即列表、元组、字典、集合或字符串等)。这与其他编程语言中的 for 关键字不太相似,而是更像其他面向对象编程语言中的迭代器方法。...通过使用 for 循环,我们可以为列表、元组、集合的每个元素执行一系列的操作。 1.1 坏语法 1.2 坏流程图 1.3 实例 我们一起来看一个数字的实例:依次打印出 1~20。...语句如下,我们点击运行: # 天空中的太阳数量2-10时,保持射箭!...Python ,while 表示的信息是当…时候,也就是说当 while 循环的条件满足时,会一执行满足条件的语句。...3.2 continue 3.2.1 将continue用于for坏 我们先一起来看下continue for 循环的应用,大家点击运行

    1.9K20

    python反向shell

    文章源自-投稿 作者-白白 参考前面的正向shell后写出来的,此处还是要感谢MiaGz大师傅,先写出来一个初始版本,然后再进行改进 0x00:基础客户端部分 客户端,用于目标机器上运行,它会自动去找服务端...,而断开在重连他会带有一些原本的标识,而新的连接已经发生了改变,所以无法找到,于是陷入死循环,一无法连接,于是就把初始化套接字放在大循环里,连接成功部分是小循环进行的,如果断开后,就重新初始化套接字...,再次连接目标,这样来刷新断开后的套接字完成,只要客户端在运行,就可以连接到服务端 2、如果客户端被强制关闭将导致服务端报错退出,而不是继续等待新的连接,调试后发现是因为我们服务端遇到报错后会退出内循环...,实例化一个Popen类,data是要执行的命令,后面的则是参数部分,shell=True表示明确要求使用shell来运行程序,与另一个参数一同指定程序运行在什么shell但此处没有设置,所以会使用默认...)的数据发送给子进程的stdin,同时从子进程的stdout和stderr读取数据,直到EOF,返回值是一个元组,有两个元素,分别表示标准输出,和错误输出读取的数据 #将读取到的数据给不同的变量

    69690

    Python快速学习第十天

    为了程序隐藏这些区别(这样的程序就能跨平台运行),Python在这里做了一些自动转换:当在Windows下用文本模式读取文件的文本时,Python将\r\n转换成\n。...但(本书写作期间)也有一些方法不支持,isatty方法。 三种标准的流 第10章关于sys模块的部分曾经提到过3种流。...要打印的文本保存在sys.stdout内。input和raw_input函数的提示文字也是写入sys.stdout的。...写入sys.stdout的数据一般是出现在屏幕上,但也能使用管道连接到其他程序的标准输入。 错误信息(栈追踪)被写入sys.stderr。它和sys.stdout很多方面都很像。 ...Python的近几个版本(从2.2开始),文件对象是可迭代的,这就意味着可以直接在for循环中使用它们,从而对它们进行迭代。代码清单11-12所示,很优雅,不是吗?

    1.2K60

    独家 | 手把手教你如何用Python从PDF文件中导出数据(附链接)

    此处我们可以加入一些分析逻辑来得到我们想要的分析结果。或者我们可以仅是将文本(或HTML或XML)存入不同的文件以便分析。 你可能注意到这些文本没有按你期望的顺序排列。...打开一个终端并且定位到你存放PDF文件的位置,或修改一下命令指向待处理文件: ? 如果你执行这条命令,它将打印出所有的文本到标准输出(stdout)。...在这个例子,我们用PDF的文件名创建了我们顶层的元素。然后它的下层增加了一个页(Pages)元素。下一步是for循环,在此循环中我们从PDF中提取每一页然后保存想要的信息。...你可以运用Python的正则表达式来找出这类东西,或者仅是检查子字符串句子的存在。 对于这个例子,我们仅仅是提取了每一页的前100个字符并将其存入一个XML的子元素(SubElement)。...你可以代之以Popen,但是那将基本上在后台运行命令进程。最后,我们打印出输出路径下的细节,以确定所有的图片都被提取进了其中。 还有一些网络上的其它文章引用了一个叫做Wand 的库,你也许可以试一试。

    5.4K30

    Python 异步: 非阻塞子进程运行命令(19)

    我们可以从 asyncio 执行命令。该命令将在我们可以使用非阻塞 I/O 写入和读取的子进程运行。 1....如何直接运行命令 命令命令行(终端或命令提示符)上执行的程序。这是另一个直接运行的程序。...Asyncio create_subprocess_exec() 示例 我们可以探索如何在 asyncio 的子进程运行命令。在这个例子,我们将执行“echo”命令来报告一个字符串。...Asyncio create_subprocess_shell() 示例 我们可以探索如何使用 shell asyncio 的子进程运行命令。...在这个例子,我们将执行“echo”命令来报告一个字符串。 echo 命令将直接在标准输出上报告提供的字符串。下面列出了完整的示例。

    3K40

    Python重定向标准输入、标准输出和标

    最简单的例子stdout 和 stderr 将它们的输出发送到同一个地方:Python IDE,或终端(如果你正从命令运行Python)。...或终端,如果你从命令运行这一脚本)。...这样只会将输出结果“打印”到日志文件IDE窗口中或在屏幕上不会看到输出结果。 我们将 stdout 搞乱之前,让我们把它设回原来的方式。 关闭日志文件。...相反,它们成为下个命令本例调用我们的Python脚本)的标准输入。...不只是简单地执行 cat binary.xml,我们可以运行一个可以动态生成语法的脚本,然后可以将它通过管道输入到我们的脚本。语法可以来自任何地方:数据库,或某个语法生成元脚本什么的。

    4K10

    【Python | 常见场景】最佳实践系列 —— 各种场景及运用(适合下饭刷)

    它提供了一种执行外部命令、与其交互、获取输出等操作的方式。以下是subprocess模块的一些常用功能和用法: 运行外部命令: ``subprocess模块允许您在Python程序执行外部命令。...其他功能: ``subprocess`模块还提供了其他一些功能,控制子进程的输入、输出和错误流、设置超时、在后台运行进程等。您可以查阅官方文档以了解更多详细信息。...请注意,使用subprocess模块时需要小心处理输入和命令参数,以避免潜在的安全风险(命令注入)。建议使用参数列表形式来传递命令和参数,而不是通过字符串拼接。...终端运行以下命令: jupyter notebook 这将在浏览器打开 Jupyter Notebook。...创建新 Notebook 之前,点击右上角的 “New” 按钮,在下拉菜单你应该能够看到你之前添加的虚拟环境内核名称。选择它,然后将使用你的虚拟环境作为内核来创建新 Notebook。

    19510

    Python用subprocess的Popen来调用系统命令

    可是这两个命令过于简单,不能完毕一些复杂的操作,给执行的命令提供输入或者读取命令的输出,推断该命令的执行状态,管理多个命令的并行等等。...这时subprocess的Popen命令就能有效的完毕我们须要的操作。在这里对Popen予以简介。...(:list,元组),用于指定进程的可运行文件及其參数。...subprocess.call(*popenargs, **kwargs) 执行命令。该函数将一等待到子进程执行结束,并返回进程的returncode。文章一開始的样例就演示了call函数。...异常对象,包 括进程的returncode信息。 subprocess模块的内容就这么多。Python手冊,还介绍了怎样使用 subprocess来替换一些老的模块,老的函数的样例。

    1.8K20

    Python标准库06 子进程 (subprocess包)

    subprocess包主要功能是执行外部的命令和程序。比如说,我需要使用wget下载文件。我Python调用wget程序。从这个意义上来说,subprocess的功能与shell类似。...subprocess以及常用的封装函数 当我们运行python的时候,我们都是创建并运行一个进程。...Python,我们通过标准库的subprocess包来fork一个子进程,并运行一个外部的程序(fork,exec见Linux进程基础)。...这个时候,我们使用一整个字符串,而不是一个表来运行子进程。Python将先运行一个shell,再用这个shell来解释这整个字符串。...shell命令中有一些是shell的内建命令,这些命令必须通过shell运行,$cd。shell=True允许我们运行这样一些命令

    2.8K60

    JAVA语言程序设计(一)04747

    标识符可以包含 英文、0-9数字、$、下划线 不能以数字开头 不能有关键字 建议命名方式 首字母大写、后面每个单词的首字母都大写 首字母小写,后面每个单词的首字母都大写 方法名:同变量名 常量 常量:程序运行期间固定不变的量...**列:‘1’、‘’、‘b’ 布尔常量:ture or false 空常量:null。...,一般可以分成四部分 初始化语句:坏开始最初执行,而且只做唯一一次 条件判断:如果成立,则坏继续,不成立坏退出 坏体:重复做的事情内容,若干行语句 步进语句:每次坏之后要进行的扫尾工作,每次坏结束都要这样...教程失败 流程: 创建项目=>取名字并且选中jdk=>生成src文件=>src文件创建包=>然后再建立类 方法的回顾 这边还是选用一般的方式去执行,高度集成化的方式将在具体开发重新学习 定义方法...代表我是一个数组 左侧的数组名称,给数组取一个名字 右侧的new代表创建数组的动作 右侧的数据类型,必须和左侧的数据类型保持一致 右侧括号的长度,也就是数组当中,到底可以保存多少数据 创建一些数组试试

    5.1K20

    正确的使用python调用shell的姿势

    python天生的优势,用它来开发一些devops的自动化作业是非常方便的,当然linux上,一般我们用shell就能写一些简单的自动化脚本,但如果自动化作业复杂的话,使用shell脚本就很难搞定了,...()print output 输出123 我们可以看到popen方法可以获取命令执行后到输入结果,但这还是有缺陷的,我们知道linux里面,有标准的0,1,2来代表标准输入,输出和错误,现在只有stdout...stderr 方式三:看到上面这些这么繁琐的调用,后面就又有了最强大的subprocess模块,subprocess模块的出现是用来替代OS模块的system()和popen()方法的,官方推荐的是只用...,可以是字符串或者序列类型(:list,元组) bufsize:缓冲区大小。...stdin, stdout, stderr:分别表示程序的标准输入、输出、错误句柄 preexecfn:只 Unix 平台下有效,用于指定一个可执行对象(callable object),它将在子进程运行之前被调用

    7.5K20

    笔记 | 如何在Python下调用Linux的Shell命令

    阅读大概需要5分钟 zenRRan: 昨天应导师要求,需要写很多python脚本linux下,这样就会用到如何在python下调用linux命令。 这里有篇比较全的文章,推荐给大家!...地址: https://blog.csdn.net/longerzone/article/details/17889969 导读 有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount...这些方法适用于子进程调用外部程序的情况,因为外部程序会替换当前进程的代码,不会返回。...此外,这也只能让你运行简单的shell命令而且不能运行外部程序。 4.2....而且popen还有三个变种都是I/O处理上有轻微不同。假如你通过一个字符串传递所有东西,你的命令会传递给shell;如果你通过一个列表传递他们,你不用担心逃避任何事。 4.3.

    4.6K20
    领券