Mac (Darwin) 和 Linux 上的不同睡眠二进制文件。如何正确处理分歧?

Mac (Darwin) 和 Linux 上的不同睡眠二进制文件。如何正确处理分歧?

在我的 Linux 盒子中,sleep接受秒、分钟和小时。所以:

sleep 10m

睡眠 10 分钟(或 600 秒)。

sleep在 Mac 上仅接受秒作为参数。sleep 10m不起作用,只能sleep 600s

我能做些什么?创建一个名为的函数sleep,当 10m 或 10h 作为参数传递给秒时进行转换,并调用内置 sleep?

答案1

sleep在 Linux 上也接受秒(至少是我见过的所有版本);你不能同时使用sleep 600两者吗?

答案2

您可以使用适用于 Mac OS X 的自制软件:https://github.com/mxcl/homebrew并从那里安装 coreutils 包。这将允许您安装 GNU 版本的 sleep,它处理与 Linux 版本相同的参数。

请注意,默认情况下,它安装带有“g”前缀的二进制文件,因此该命令实际上被命名为 gsleep,但该包提供了一个脚本文件来为所有命令别名。

相关内容