Bash sleep随机时间

在 Bash 中,如果你想让 sleep 命令等待一个随机的时间,你可以使用 $RANDOM 变量来生成一个随机数,然后将其转换为秒数。但是,$RANDOM 生成的数字范围是从 0 到 32767,这可能对于你想要的等待时间来说太大了。

为了得到一个更小的随机范围,比如从 1 到 10 秒,你可以使用下面的方法:

bash 复制代码
#!/bin/bash

# 生成 1 到 10 之间的随机数
random_seconds=$((RANDOM % 10 + 1))

echo "Waiting for $random_seconds seconds..."
sleep $random_seconds

echo "Done!"

在这个脚本中,$((RANDOM % 10 + 1)) 使用了模运算 % 来限制 $RANDOM 的范围,并加 1 以确保结果不会为 0。然后,这个随机数被用来告诉 sleep 命令等待多少秒。

如果你想要一个更大的范围,比如从 1 到 60 秒,你可以相应地调整模运算:

bash 复制代码
#!/bin/bash

# 生成 1 到 60 之间的随机数
random_seconds=$((RANDOM % 60 + 1))

echo "Waiting for $random_seconds seconds..."
sleep $random_seconds

echo "Done!"
相关推荐
Madison-No719 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌20 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
悠悠1213821 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck1 天前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_741484811 天前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS1 天前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿1 天前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
wdfk_prog1 天前
ROS教程08:从 TransportTCP::connect() 追到 TCPROS Connection Header、序列化与 Socket 数据传输
运维·缓存·docker·容器·ros
做运维的阿瑞1 天前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲1 天前
密码都对Node.js却连不上Linux数据库
linux·mysql