在 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!"