Linux shell 脚本中的 while 循环超时

2024-05-15

这工作正常(无限循环):

$ while TRUE; do printf ".";done

...................................................... ……………………

我在尝试着timeout this while looptimeout命令。 所有这些都不起作用:

$ timeout 5 while TRUE; do printf ".";done
$ timeout 5 "while TRUE; do printf ".";done"
$ timeout 5 "while TRUE; do printf \".\";done"
$ timeout 5 $(while TRUE; do printf ".";done)
$ timeout 5 $('while TRUE; do printf ".";done')

正确的方法是什么(如果存在)?


我认为解决您问题的方法是执行另一个 shell 实例并向其传递正确的命令。 根据 bash 手册:

-c        If the -c option is present, then commands are read from the first non-option argument command_string.

因此我的解决方案是这样的:

timeout 5 bash -c -- 'while true; do printf ".";done'

--确保以下参数将被视为非选项。和''有助于通过"没有不必要的逃避

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

Linux shell 脚本中的 while 循环超时 的相关文章

随机推荐

  • Flutter 中的 Android 许可证

    4 天前一切正常 我进行了更新 许可证停止通过 我到目前为止所做的事情 检查了工具过时的东西 gt 不起作用 flutter doctor android licenses gt 不起作用 sdkmanager licenses gt 不起
  • 如何从 javascript 终止会话

    很多时候我们使用会话变量来存储页面中的数据 当用户从一个页面跳转到另一个页面时 我需要一种方法来终止 JavaScript 的会话 是否可以 如果是的话请指导我 提前致谢 您需要告诉服务器终止会话变量 从 javascript 执行此操作的
  • 列出运行时从开放泛型类型创建的封闭类型

    当我列出当前 AppDomain 中的所有类型时 我会看到带有通用占位符的通用类型 但是 如果我使用类型实例化泛型类型 然后列出 appDomain 中的所有类型 则我看不到新创建的封闭类型 在下面的示例中 输出仅为 Foo 1 T 我正在
  • refname 不明确且拉取失败

    我运行了以下命令 因为我想将生产分支移回而不必先签出 git branch f production HEAD 1 现在 当我检查生产时 我收到以下警告 warning refname production is ambiguous 然后我
  • 关于在字典中查找所有有效单词的算法问题

    给定一个字典 只是一个字符串列表 您收到来自外部来源的未知数量的信件 给定字母串 您将如何列出您可以通过这些字母的任意组合组成的所有有效单词 来自字典 因此 如果您收到 applead 你应该找到apple bad pad lead等 我知
  • 设置 Apache POI 的路径

    我想创建 Excel 文件并使用 java 程序在该文件中写入数据 That is here http www techbrainwave com p 554我在 java 文件所在的位置提取了 Apache POI 并将该路径包含在路径变
  • 引用重载,与单独的值传递 + std::move 相比?

    似乎有关 C 0x 右值的主要建议是向类中添加移动构造函数和移动运算符 直到编译器默认实现它们 但如果您使用 VC10 等待是一种失败的策略 因为自动生成可能要到 VC10 SP1 才会出现 或者在最坏的情况下 直到 VC11 等待这一切的
  • 如何在 NSDate 变量中仅设置时间?

    我有 NSDate 变量 只想更改时间 不应更改日期 是否可以 例如 用户在 DatePicker 日期中选择日期间隔 如果是开始日期 我想将时间设置为 00 00 00 如果是结束日期 我将时间设置为 23 59 59 感谢你的帮助 问候
  • Apple Silicon M1 Mac 中的 Xcode 错误“为 iOS 模拟器构建,但在为 iOS 构建的 dylib .. for 架构 arm64”中链接

    我有一个应用程序 可以在物理设备和 iOS 模拟器中使用英特尔处理器的旧 Mac 上编译和运行良好 同样的应用程序也可以在配备 M1 处理器的较新 Apple Silicon Mac 上编译并正常运行physicaliPhone 设备 bu
  • 理解 JavaScript 的单线程本质

    我一直在阅读 John Resig 的 JavaScript Ninja 的秘密 它解释了 JavaScript 是单线程的 但是 我尝试对此进行测试 但我不确定要从这里删除什么 executing this in browser func
  • OpenMP:无法并行化嵌套 for 循环

    我想将循环与其中的内循环并行化 我的代码如下所示 pragma omp parallel for private jb ib shared n Nb lb lastBlock jj W WT schedule dynamic private
  • Oracle内置函数元数据

    有没有办法获取 Oracle 内置聚合和其他功能的元数据 例如AVG STDDEV SQRT ETC 我需要知道对象 id 和参数元 In the SYS ALL OBJECTS查看我找不到任何有用的东西 我也尝试过搜索SYS ALL AR
  • kmeans 对分组数据进行聚类

    目前 我尝试在分组数据中找到簇的中心 通过使用示例数据集和问题定义 我能够创建kmeans每个组内的集群 然而 当涉及到给定组的集群的每个中心时 我不知道如何获取它们 https rdrr io cran broom man kmeans
  • 如何在ReactJS中定义常量

    我有一个将文本映射到字母的函数 sizeToLetterMap function return small square s large square q thumbnail t small 240 m small 320 n medium
  • Azure Graph API 身份验证_MissingOrMalformed

    我正在使用 Azure Graph API 从 Azure AD 导入用户 在天蓝色门户中 我添加了多个应用程序 我从 protal 获取 clientId tenantId 并创建一个有效期为一年的密钥 使用这些值 我创建一个 acces
  • 无法理解表达式 *(uint32_t*) 的作用

    我无法理解这个表达是什么 uint32 t does 我已将声明分解为一个声明各个部分的示例 以便我可以尝试解释每个部分的作用 uint32 t ptr uint32 t num uint32 t ptr num lt what does
  • 从 Android 打印,无需系统对话框

    我想从我的 Android 应用程序打印图像 打印机 canon selphy cp910 带 wifi direct 我尝试使用 Google API 和 android support v4 print PrintHelper 类 它有
  • git diff 在尖括号中显示 unicode 符号

    我有一个带有 unicode 符号 俄语文本 的文件 当我修复一些拼写错误时 我使用git diff color words 看看我所做的改变 如果是 unicode 西里尔文 符号 尖括号会造成一些混乱 如下所示 cat p1 cat p
  • Django 子应用程序和模块结构

    我正在开发一个 Django 应用程序 这是一个大型系统 需要多个子应用程序来保持整洁 因此 我有一个顶级目录 它是 Django 应用程序 因为它有一个空的models py文件 和多个子目录 它们本身也是应用程序 我以这种方式布局应用程
  • Linux shell 脚本中的 while 循环超时

    这工作正常 无限循环 while TRUE do printf done 我在尝试着timeout this while loop与timeout命令 所有这些都不起作用 timeout 5 while TRUE do printf don