python重复执行命令_怎样能重复执行一条命令直到运行成功

2023-11-19

在我们的日常工作中,需要我们重复做的工作简直不能太多。比如,我们想要确认网络是否是连通的,传统的做法就是使用 ping 命令不停去测试某个地址(比如百度)。网络比较好还好说,但如果网络很差,那么就需要一直去运行 ping 命令。

作为程序员,重复性的工作怎么能忍呢?只要是重复性的工作,就有可能使用编程的方式来解决!

下面介绍两种方法重复执行一条命令直至运行成功。

解决重复性的工作,自然而然会想到循环 。在 Shell 里,循环无非 3 种:for、while、until 。在本文里,我们使用后两种循环:while 、until 。

关于这两种循环,有编程基础的小伙伴应该是比较熟悉的了,这里再复习一下。

对于 while 循环,在循环条件是 true 的情况下,它会重复执行循环体(包含在 do ... done 结构体里),直到循环条件变成 false 。

而对于 untile 循环,刚好与 while 循环相反,在循环条件是 false 的情况下,它会重复执行循环体(包含在 do ... done 结构体里),直到循环条件变成 true 。

好了,复习完基础知识,我们再来看看如何用这两个循环实现我们的目的。

1. 使用 while 循环

还是以重复测试网络连通性为例。我们可以使用以下命令来解放我们的双手:

$

while ! ping -c 3 baidu.com ;

do sleep 2 ;

done ;

echo succeed

对于这条命令,它将重复执行 ping

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python重复执行命令_怎样能重复执行一条命令直到运行成功 的相关文章

  • 基于rt2860v2的wifi探针

    实验室有块7620a的板子 之前做过探针方面的试验 rt2860v2的驱动源码来自网络 探针是基于这份源码做的试验 最初在驱动中采集的数据是通过proc节点送到应用层 但是发现数据的实时性啥的不够好 改用了netlink方式 有感兴趣的同学
  • Cocos Creator 如何处理物理和碰撞检测?

    Cocos Creator 如何处理物理和碰撞检测 cocos creator 版本 v3 6 1 Cocos Creator 3 x 实现碰撞检测 Cocos Creator 通过使用物理引擎来处理物理和碰撞检测 Cocos Creato
  • 线特征的LSD提取算法

    线特征的LSD提取算法 线段检测器算法 算法流程 大多数图像中都存在直线特征 是视觉感知 描述外部环境的重要特征信息 直线是一种大尺度的特征 在水面环境中具有更为理想的适用性 线特征具有光照和视角不变性特点 表现更为稳定 有效 因此将点 线
  • redis--11.2--操作--管道

    redis 11 2 操作 管道 1 介绍 将多个命令一起通过网络发送 返回多个值
  • Knowledge Distillation & Student-Teacher Learning for Visual Intelligence: A Review & New Outlooks

    论文地址 http arxiv org abs 2004 05937 github地址 无 这是篇关于知识蒸馏的综述文章 知识蒸馏被认为是用于模型压缩的非常有效的一种方式 本文作者从模型压缩和知识迁移两个应用场景概述了近年来对知识蒸馏的研究
  • kaggle数据集_图像分类:来自 13 个 Kaggle 项目的经验总结

    点击上方公众号 可快速关注 转自 机器学习实验室 任何领域的成功都可以归结为一套小规则和基本原则 当它们结合在一起时会产生伟大的结果 机器学习和图像分类也不例外 工程师们可以通过参加像Kaggle这样的竞赛来展示最佳实践 在这篇文章中 我将
  • VMware虚拟机崩溃的解决方法(.vmx损坏,其他文件完好)

    使用虚拟机的朋友想必都或多或少遇到过虚拟机崩溃 无法开启的问题吧 这确实是虚拟机存在的一个严重问题 例如突然断电 或者虚拟机非正常关机等等 很多因素都能造成虚拟机的异常损坏 本文就针对其中的一种常见问题提供相关解决办法 如有不当之处 望不吝
  • c++直角坐标系与极坐标系的转换_平面向量的奇技淫巧——斜坐标系的一系列低级研究...

    事先说明 笔者初三 如在叙述中有不严谨的地方 还请诸位指出 自当感激不尽 一 什么是斜坐标系 众所周知 我们目前平面中使用相当广的坐标系是笛卡尔发明的平面直角坐标系 然而 笛卡尔真的只使用了这一种坐标系吗 显然不是的 事实上 笛卡尔最先使用
  • Odoo免费开源ERP订单锁货的应用实施技巧分享

    Odoo是世界排名第一的免费开源ERP 其应用市场上有3万多个功能插件可供下载使用 几乎涵盖各行各业的企业业务管理流程 包括库存管理 销售管理 采购管理 制造管理 维修保养 网站电商 市场营销 项目管理 HR 财务 PLM等等 并且源码交付
  • 服务器备案的网站名称怎么填写,公安备案网站名称怎么写?

    最近很多新老用户接到西安网警打来电话让进行公安网安备案 要求通过全国互联网安全管理服务平台进行公安联网备案 客户俗称 公安备案网站名称怎么写 依据 计算机信息网络国际联网安全保护管理办法 相关规定 各网站在工信部备案成功后 需在网站开通之日
  • 迪杰斯特拉算法(Dijkstra)-Java实现

    迪杰斯特拉算法也是求两点之间最短路径的算法 它的思想和普利姆算法有点相似 不断通过已找到点集合和未找到点之间的集合之间的最短路径 这个算法需要用到三个数组 一个是存储结点是否已经访问 一个是结点到起始点的最短距离 还有一个是结点到起始点第一
  • Java实现简单版SVM

    Java实现简单版SVM 最近的图像分类工作要用到latent svm 为了更加深入了解svm 自己动手实现一个简单版的 之所以说是简单版 因为没有用到拉格朗日 对偶 核函数等等 而是用最简单的梯度下降法求解 其中的数学原理我参考了http
  • 解决Adobe Flash Player已不再受支持的问题

    1 问题展示 我们在访问某些网站时 可能会出现Adobe Flash Player已不再受支持的问题 具体如下图所示 这会对我们的日常生活需求产生极大的不便 因此迫切需要一个能够解决此问题的方法 其实很简单 具体操作请看下面的步骤 2 下载
  • 移动端+PC端图片预览+手势缩放等功能合集

    话不多说 直接上代码 大家可按需求功能复制使用 window onload function 点击图片进入预览 var Dom document querySelector preview Dom onclick function var
  • 接口如何实现多态

    抽象类是用来继承的 不能被实例化 抽象类里可以有成员变量 接口中没有 1 抽象类里的抽象方法 只有在子类实现了才能使用 2 抽象类里的普通方法 可被子类调用 3 接口里的方法 都被默认修饰为public abstract类型 4 接口里的变
  • 记录1年免费亚马逊AWS云服务器申请方法过程及使用技巧

    转载 http www itbulu com free aws html 早年我们才开始学习网站建设的时候 会看到且也会寻找免费主机商 主要原因是那时候提供免费主机的商家还是比较靠谱的 而且那时候主机商并不是很多且成本也比较大 我们深知听到
  • linux上层app调用驱动底层的过程详解

    APP应用程序 gt 应用框架层 gt 硬件抽象层 gt 硬件驱动程序 一 硬件驱动层 进入kernel drivers文件夹中 创建一文件夹 放入驱动程序 包括头文件 C文件 Makefile Kconfig 同时对drivers下的Ma
  • 滚动屏幕或缩放屏幕,使用节流

    场景 滚动屏幕 onScroll 缩放屏幕 resize 如果需要统计用户滚动屏幕或缩放屏幕的行为作出相应的网页反应 容易导致网络的阻塞 mounted window addEventListener resize this throttl
  • 基于聚类的异常值检测算法依据及python实现

    假设数据集D被聚类算法划分到k个类C C1 C2 CK 对象p 的离群因子of3 p 定义为 与所有类间距的加权平均值 其中 D 为样本数量 Cj 为第j个聚类群体样本数量 d p cj 为样本p与第j个聚类中心的距离 其中cj表示第j个聚

随机推荐

  • LeetCode·每日一题·1851. 包含每个查询的最小区间·优先队列(小顶堆)

    题目 示例 思路 离线查询 输入的结果数组queries 是无序的 如果我们按照输入的queries 本身的顺序逐个查看 时间复杂度会比较高 于是 我们将queries 数组按照数值大小 由小到大逐个查询 这种方法称之为离线查询 位运算 离
  • ExtJS之 Proxy数据代理

    ExtJS之 Proxy数据代理 代理种类截图 ExtJS提供的数据代理主要分为两大类 1 客户端代理 Ext data proxy Client 2 服务器代理 Ext data proxy Server 这两个类 都继承自 Ext da
  • Ansible的简介及部署

    1 ansible简介 1 1 什么是ansible ansible是一款开源自动化平台 是一个配置管理工具 自动化运维工具 1 2 ansible的优点 跨平台支持 人类可读自动化 ansible提供linux Windows unix和
  • 类的一些内置方法

    一 slots 用来取代 dict 优势是省内存 附加功能是只能创建slots 定义好的key 注意 不要乱用 用了就没有 dic 方法了 class Foo slots name age 这里可以是列表或者单个字符串 定义key值 f1
  • 解决matplotlib画图中文乱码

    一 下载字体 以SimHei字体为例 下载SimHei ttf文件 在python环境下输入 import matplotlib print matplotlib path 输出matplotlib的安装环境 放在该路径下的mpl data
  • 彻底删除SVN版本库某一文件夹或文件

    基础描述 要彻底删除SVN版本库某一文件夹或文件 可采取这种方法 举例说明 例 假设SVN库路径为E svn project 库中的目录结构为 Trunk Software test exe 删除Software 目录下的test exe文
  • 赫尔德不等式详细证明

    赫尔德不等式详细证明 k 1n akbk k 1n ak p 1 p k 1n bk q 1 q 1 sum k 1 n left a k b k right leqslant sum k 1 n left a k right p 1 p
  • FPGA实战--等精度频率测量

    首先放置效果图 本次试验中采用的是等精度测频率 等精度测频的原理是产生一个1s的高电平 在高电平中对被测方波进行计数 所测得数字即该波形频率 具体等精度测量原理请参考 http www elecfans com d 591858 html
  • 若依框架前后端分离版本自动生成代码的详细步骤

    1 若依框架的下载和本地运行这里就不介绍了主要讲代码自动生成 只是单表的增删改成 复杂的多表业务逻辑还是需要自己手写的 话不多说直接上图 一 新建模块 本地运行起来后右键新建Module 注意这里的Name 可以和若依类似 也可以自己定义新
  • 基于Axure 8课程设计-前端页面设计-漫画APP界面/UI设计(免费分享.rp文件学习)

    这次的课程设计主要是UI设计 基于Axure我设计了一个类似动漫之家的一个设计界面 以下是效果图 UI首页 点击夜魔侠 点击更新按钮 点击分类按钮 排行 点击专题按钮之后 点击搜索按钮之后 点击 新闻 按钮 点击 轻小说 按钮 点击 我的
  • 关于Qt/C++和QML获取屏幕大小方法的总结

    在桌面应用程序的开发过程中 获取屏幕 桌面 的大小来定位桌面应用所显示的位置 是桌面开发中经常用到的 手段 在Qt开发和QML开发中也不例外 本篇着重介绍Qt获取桌面屏幕大小的两种方法 以及对应的QML中获取桌面屏幕 大小的两种方法 首先上
  • 将onnx的静态batch改为动态batch及修改输入输出层的名称

    文章目录 背景 操作 修改输入输出层 修改输入输出层名称 完整代码 背景 在模型的部署中 为了高效利用硬件算力 常常会需要将多个输入组成一个batch同时输入网络进行推理 这个batch的大小根据系统的负载或者摄像头的路数时刻在变化 因此网
  • 《Python进阶系列》十七:详解Python中的猴子补丁——允许在运行时更改对象的行为

    猴子补丁是一项允许在运行时更改对象行为的技术 它是一个非常有用的功能 但它也可能使你的代码更难以理解和调试 因此 在实现猴子补丁程序时必须谨慎 猴子补丁的用法 猴子补丁与Python中的灵活性紧密相关 自定义对象是可变的 因此可以替换其属性
  • laravel-admin grid中使用switch操作一对一关联属性(源码探究到功能实现)

    我的个人博客 逐步前行STEP 项目中有一个商品表 production 有一个库存表 repertory 两者一对一关系 production有发布字段 release 需求是在repertory的grid中 有一个switch开关 用于
  • 【面试题】宏任务和微任务

    1 宏任务和微任务 宏任务 macroTask 和微任务 microTask 都是异步中API的分类 宏任务 setTimeout setInterval Ajax DOM事件 微任务 Promise async await 微任务执行时机
  • C语言经典100例题(25)--求1+2!+3!+...+20!的和

    目录 题目 问题分析 代码 运行结果 题目 求1 2 3 20 的和 问题分析 1 1 2 1 2 3 1 2 3 不难发现 1 2 3 20 每个阶乘都比前一个多乘了一个 i 代码 include
  • 使用antd pro初始化项目时出现报错:

    npm i ant design pro cli g出现报错 解决 使用sudo tnpm i ant design pro cli g 接着pro create myapp 一切都很顺利 但是在tnpm install时出现报错 这个问题
  • C51简介及Keil的使用

    前言 此文档主要是针对有一定C C 编程基础 并打算用Keil从事C51开发的开发人员 C51涉及的知识比较多 但是入门基本的开发 还是容易的 C51简介 1 C51概念 C51继承于C语言 主要运行于51内核的单片机平台 单片机 单片微型
  • Linux环境搭建----VMware安装虚拟机

    一 VMare虚拟机安装与使用 1 1 VMware简介 1 VMware是一个虚拟PC的软件 可以在现有的操作系统上虚拟出一个新的额硬件环境 相当于模拟出一个新的PC 2 WMware官方网站 http www vmware com 3
  • python重复执行命令_怎样能重复执行一条命令直到运行成功

    在我们的日常工作中 需要我们重复做的工作简直不能太多 比如 我们想要确认网络是否是连通的 传统的做法就是使用 ping 命令不停去测试某个地址 比如百度 网络比较好还好说 但如果网络很差 那么就需要一直去运行 ping 命令 作为程序员 重