gpt4 book ai didi

linux - 我如何在 Zsh 中使用 float "delay"?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:26:59 25 4
gpt4 key购买 nike

在 Zsh 中有一个wait(对于一个进程或作业)命令,一个while(Seconds == Delay)命令,和一个sched(如果 shell 仍在运行则稍后执行)命令,但没有“延迟”命令。如果有的话,我担心这将仅限于整秒延迟。我需要一个“延迟”语句,它基本上可以导致过程/任务在固定点数指定的时间内或直到某个时钟时间几乎不做任何事情。

大多数脚本会使用“sleep”,但我希望在不打开 IO 的情况下运行延迟计时器;我正在寻求几乎任何事情都可以在 Zsh 中完成的理想。

有谁知道如何让一个函数(或者内置函数/模块)以秒为单位执行浮点空闲延迟?

最佳答案

我会争辩说你做出了错误的假设。 zsh 是一个 shell,因此它的目的是成为一个 shell。作为 shell 的一个重要点是成为 POSIX 兼容的 shell。此外,由于 zsh 完全向后兼容 bash,而后者又完全向后兼容应该是 POISX shell 的 bourne shell。

这意味着自 sleep is required for a POSIX shell 以来 zsh 必须有权访问 sleep .

这就是我们对 POSIX 兼容性争论的看法。现在进行实际使用论证。大多数系统将使用 GNU coreutils sleep实现允许浮点参数的sleep。因此以下是 POSIX 可移植的:

if ! sleep 0.03; then
sleep 1
fi

并且在大多数情况下应该作为细粒度延迟工作,同时在操作系统不使用 GNU coreutils 的极少数情况下仍然不会中断。据我所知,这些罕见的情况只是 AIX 和 HP-UX 系统。

关于linux - 我如何在 Zsh 中使用 float "delay"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39457087/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com