个人技术分享

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

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

#!/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 秒,你可以相应地调整模运算:

#!/bin/bash

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

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

echo "Done!"