重试 Bash 命令并超时

2024-01-09

如何重试 bash 命令直到其状态正常或达到超时?

我最好的镜头(我正在寻找更简单的东西):

NEXT_WAIT_TIME=0
COMMAND_STATUS=1
until [ $COMMAND_STATUS -eq 0 || $NEXT_WAIT_TIME -eq 4 ]; do
  command
  COMMAND_STATUS=$?
  sleep $NEXT_WAIT_TIME
  let NEXT_WAIT_TIME=NEXT_WAIT_TIME+1
done

你可以通过把事情简化一点command就在测试中,增量的做法有点不同。否则脚本看起来不错:

NEXT_WAIT_TIME=0
until [ $NEXT_WAIT_TIME -eq 5 ] || command; do
    sleep $(( NEXT_WAIT_TIME++ ))
done
[ $NEXT_WAIT_TIME -lt 5 ]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重试 Bash 命令并超时 的相关文章

  • MySQL Amazon RDS:超出锁定等待超时

    在 Mysql Amazon RDS 上 当我尝试运行以下 SQL 查询时 UPDATE table1 INNER JOIN table2 USING CommonColumn SET table1 col1 table2 x table1
  • SWIFT 在 while 循环步骤之间更新屏幕

    我正在构建一个模拟康威生命游戏的应用程序 我试图在按下 运行 按钮时运行无限动画 这是我的代码 When RUN button is clicked call run repeat IBAction func run sender AnyO
  • 这种 bash 文件名提取技术有何用途?

    我有一部分 bash 脚本正在获取不带扩展名的文件名 但我试图了解这里到底发生了什么 是做什么用的 有人可以详细说明 bash 在幕后做了什么吗 如何在一般基础上使用该技术 bin bash for src in tif do txt sr
  • 如何从 mysqldump 中删除表

    如何删除 mysqldump 中包含大量表的一个大表的输出 我有一个 6 GB 大的数据库转储 但其中 90 只是一个日志记录表 cache entries 我的备份中不再需要它 如何轻松删除转储中描述大型日志记录表的部分 我找到了这个 h
  • shell中如何求数组的长度?

    shell中如何求数组的长度 例如 arr 1 2 3 4 5 我想得到它的长度 在本例中是 5 a 1 2 3 4 echo a 4
  • 为什么是 ”& ;”无效的语法?

    我正在尝试在终端上运行 for 循环 我希望将每次迭代发送到后台进程 以便所有迭代同时运行 以下是命令一一运行 for i in sra do fastq dump split files i done only 我突出显示了分号 要同时运
  • 如何取消 jquery.load()?

    当 load 在 5 秒内没有返回时 我想取消 load 操作 如果是这样 我会显示一条错误消息 例如 抱歉 没有加载图片 我所拥有的是 超时处理 jQuery fn idle function time postFunction var
  • 用于读取文件的 Bash 脚本

    不知道为什么最后一行没有从脚本中删除 bin bash FILENAME 1 while read line do cut d f2 echo line done lt FILENAME cat file 1 test 2 test 3 t
  • Bash 和双引号传递给 argv

    我重新设计了这个示例以使其简单 但我想做的是在 bash shell 执行它时获取一个嵌套双引号字符串作为单个 argv 值 这是脚本示例 set x command1 key1 value1 key2 value2 key3 value3
  • awk 返回两个变量

    现在这就是我正在做的事情 ret ls la awk print 3 9 usr echo ret awk print 1 fil echo ret awk print 2 问题是我没有运行ls我正在运行一个需要时间的命令 因此您可以理解其
  • 为什么我不能在 Javascript 中滚动循环?

    我正在开发一个使用 dojo 的网页 并且上面有许多 在我的测试用例中为 6 但通常是可变的 项目小部件 我正在调用 dojo addOnLoad init 并且在 init 函数中我有以下几行 dojo connect dijit byI
  • “检测到堆栈粉碎”消息打印到哪个流?

    考虑以下非常基本的程序 它在此处以多种形式出现在其他问题上 include
  • 是否可以在没有迭代器变量的情况下创建“for”循环? (如何让代码循环一定次数?)

    是否可以在没有以下情况的情况下执行以下操作i for i in range some number do something 如果你只想做某件事N次并且不需要迭代器 从我的头顶上看 不 我认为你能做的最好的事情就是这样 def loop f
  • Bash:产生当父脚本退出时退出的子进程

    我想在 Bash 中生成多个子进程 但我希望父脚本保持运行 这样发送到父脚本的信号也会影响生成的子进程 这不会这样做 parent bash usr bin bash spawnedChildProcess1 spawnedChildPro
  • 用于获取特定用户 ID 和进程数的 Bash 脚本

    我需要 bash 脚本来计算特定用户或所有用户的进程 我们可以输入 0 1 或更多参数 例如 myScript sh root deamon 应该像这样执行 root 92 deamon 8 2 users has total proces
  • 捕获并邮寄 bash 脚本错误

    我有一个脚本 每晚在 cron 中运行 为网络上的多个主机备份一些 postgres 数据库 我有一种方法可以通过利用退出状态来收到脚本失败的警报 但它没有告诉我失败的原因 根据以下代码 我如何捕获脚本运行时发生的任何错误 并将其通过电子邮
  • 在cmake中集成bash测试脚本

    我有一个 C cmake 项目 它使用 Boost Test 进行单元测试 现在我想向 cmake 公开一系列 bash 脚本 用于集成测试 假设每个脚本在以下情况下返回 0PASS或某些情况下 0FAILURE 我希望每次运行时都执行每个
  • 获取 Bash 中最后运行的程序的名称

    我有一个 bash 脚本 我使用 trap 命令捕获错误 并且我希望能够打印最后一个命令的名称 失败的命令 bin bash function error echo program name trap error ERR Some comm
  • 如何在 bash_profile 文件中添加导出语句?

    我正在尝试了解是否必须添加导出语句来在 bash profile 文件中设置变量 我该怎么做呢 例如 如果我必须添加 export AX name 那么我应该将其简单地写在文件末尾还是我还需要编写其他内容 简单写一下export AS na
  • 如何循环遍历字典列表并打印特定键的值?

    我是 Python 新手 有一个问题 我知道这是一个非常简单的问题 运行Python 3 4 我有一个需要迭代并提取特定信息的列表 以下是列表 称为部分 的示例 已截断 数千个项目 state DEAD id phwl type name

随机推荐

  • Windows cmd - 使用 oneliner 与用户输入提示 [npm] 交互

    我正在尝试将输入作为一行传递给用户输入提示 但很难弄清楚如何正确执行此操作 具体来说 我正在尝试使用登录到 npmnpm adduser npm login是它的别名 当它是一个奇异值时 它可以工作 但这只能让我到目前为止 echo exa
  • SiteCatalyst:跟踪 Webkit 浏览器上的自定义链接

    我的查询是我有一个重定向到另一个页面的链接 在 webkit 浏览器中 如何强制 sitecatalyst 服务器调用 脚本执行 在重定向发生之前完成 我正在使用 sitecatalyst 作为门户 我有 配置自定义链接调用以包含 didA
  • 在可选参数中设置日期时间的默认值[重复]

    这个问题在这里已经有答案了 如何在可选参数中设置日期时间的默认值 public SomeClassInit Guid docId DateTime addedOn DateTime Now Init codes here 有一个解决方法 利
  • 如何在一行内遍历这个哈希值?

    哈希中的每个键都有一个值 该值也是哈希 100 gt 1 gt ruby 2 gt enumerables 50 gt 3 gt can 4 gt cause 15 gt 5 gt occassional 6 gt insanity 对于每
  • 正确关闭数据库连接 - VBScript + MS SQL

    我有一个连接到 SQL 服务器的经典 ASP vbscript Web 应用程序 在某些页面上 我打开多个数据库连接来提取数据 我的问题是 是在每个页面底部添加关闭连接功能更好 还是在使用后立即显式关闭连接更好 请记住 在这些特定页面上 每
  • Java 单元测试:替换被测私有方法

    运行 JUnit 测试时是否有任何方法可以替换私有方法中的逻辑 一些背景知识 我们有一些与 OSGi 容器内的包交互的私有方法 这在单元测试中不可用 因此该方法将失败 我们已经研究过 JMockIt 但方法替换功能似乎想要强制您替换类中相互
  • 线性渐变还需要浏览器前缀吗? [复制]

    这个问题在这里已经有答案了 我是否仍然需要使用线性渐变属性的浏览器前缀 background image webkit linear gradient top 2F2727 1a82f7 background image moz linea
  • 检查文件是否在 Delphi 中打开

    有没有办法检查文件是否已被 Delphi 中的 ReWrite 打开 代码会是这样的 AssignFile textfile somefile txt if not textFile IsOpen then Rewrite textFile
  • “类型对象指针”和“同步块索引”中存储了什么样的数据?

    在 CLR 中 每个实例都有 2 个附加字段来存储一些数据来管理对象 类型对象指针 同步块索引 您能否简单解释一下它们内部存储的内容以及 CLR 如何使用它们 Thanks 类型对象指针是指向对象类型描述的指针 这用于找出对象的实际类型是什
  • Pandas 在多列上应用元组解包函数

    Given a function它接受多个参数并返回多个值 如下所示 def tuple unpack value another value does some interesting stuff return value another
  • 动态更改 angular2-query-builder 中的配置

    在这里 我尝试根据 Angular2 query builder 中的字段值更改运算符 我的 TS 文件 Component selector my app template div h2 Hello name h2 div
  • Swift 中的全局修饰键按下检测

    我正在尝试使用Carbon的功能RegisterEventHotKey创建按下命令键时的热键 我这样使用它 InstallEventHandler GetApplicationEventTarget handler 1 eventType
  • perl awk OR sed,在两个时间戳之间搜索

    我有一个包含以下示例文本的文件 实际文字很大 2014 05 08 19 15 44 544824
  • WPF CheckBox 的选中和未选中状态的单独事件:为什么?

    有没有像这样的单一事件Changed我可以用它来一起处理这两个事件吗 为什么他们就这样分开呢 是否因为两个事件都有一个事件需要您按名称引用控件 您需要在 XAML 中指定该名称 这会增加混乱吗 不直接 但是 您可以对两者使用相同的事件处理程
  • 与 macOS Sierra 中的 AppTranslocation 相关的错误

    macOS Sierra 中的 Gatekeeper 似乎有点挑剔 无论如何 它导致我几年前制作的一个小实用程序抛出一个相当烦人的错误 由于我还没有时间深入研究 Sierra 的幕后变化 我不确定如何修复该错误 有人有处理与 AppTran
  • 如何将 Angular 2 服务与 Ionic 2 一起使用?

    我是 Ionic 2 的新手 我在 Angular 2 文档中读到 该服务需要在引导应用程序时注入 但在阅读 Ionic 2 教程时看不到任何引导程序 非常感谢任何帮助 Ionic2 中没有使用 Bootstrap 仅使用 App 来声明您
  • 反编译apk,lambda问题

    我反编译后的apk 分别出现了 java文件 但是有些文件的名字中有这样的 AudioPlayerActivity Lambda 1 java 这个 Lambda 1 是什么 AudioPlayerActivity Lambda 1 jav
  • 如何使用结构和实现的生命周期来推断实现的适当生命周期?

    我该如何解决这个错误 当我在中使用 匿名生命周期 时 我究竟在告诉编译器什么 impl struct LineHandlerInfo lt a gt label a str match literal a str f fn str gt O
  • MISRA 11.3:从 int 转换为指针

    我有一个关于如何解决 MISRA 2004 11 3 违规问题的问题 代码如下 tm uint8 read tm uint8 data data 0 tm uint8 0x00003DD2 data 1 tm uint8 0x00003DD
  • 重试 Bash 命令并超时

    如何重试 bash 命令直到其状态正常或达到超时 我最好的镜头 我正在寻找更简单的东西 NEXT WAIT TIME 0 COMMAND STATUS 1 until COMMAND STATUS eq 0 NEXT WAIT TIME e