0

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

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

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

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

4

4 回答 4

8

利用:

shuf -i 20000-64000 -n 1

这应该像一个魅力

于 2013-07-05T11:12:36.857 回答
3

使用模运算符:

let "port = $RANDOM % (64000 - 20000) + 20000"
autossh -M $port root@X.X.X.X
于 2013-07-05T11:11:11.023 回答
1
$ perl -e 'print rand(64000-20000) + 20000'
于 2013-07-05T11:14:14.783 回答
0

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

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

或者直接:

autossh -m $(($RANDOM % (64000 - 20000) + 20000)) root@x.x.x.x
于 2015-06-27T10:04:20.857 回答