如何选择20000到64000之间的随机数

时间:2013-07-05 11:08:08

标签: bash ssh

我想使用autossh每次指定一个随机端口,即

autossh -M $RANDOM root@X.X.X.X

但我希望随机范围在20K到64K之间。

我无法轻易找到答案。任何bash脚本向导都可以提供帮助吗?

4 个答案:

答案 0 :(得分:8)

使用:

shuf -i 20000-64000 -n 1

这应该像魅力一样

答案 1 :(得分:3)

使用模运算符:

let "port = $RANDOM % (64000 - 20000) + 20000"
autossh -M $port root@X.X.X.X

答案 2 :(得分:1)

$ perl -e 'print rand(64000-20000) + 20000'

答案 3 :(得分:0)

这可以通过简单的shell表达式轻松处理,不需要使用现代shell的外部命令:

port=$(($RANDOM % (64000 - 20000) + 20000))

或者马上:

autossh -m $(($RANDOM % (64000 - 20000) + 20000)) root@x.x.x.x