随机连接到 *.ovpn 的 Bash 脚本

随机连接到 *.ovpn 的 Bash 脚本

我正在尝试编辑以下 bash 脚本以从目录内的文件vpn列表中随机连接。.ovpn

ovpn我从以下位置下载了以下文件nordvpn

NordVPN OVPN 配置列表

这是以下 bash 脚本:

#!/bin/bash
RANGE=200 #here will be total number of ovpn config files inside tcp directory.

number=$RANDOM
let "number %= $RANGE"
fname="$*.nordvpn.com.tcp.ovpn"
openvpn "$fname"

我的问题是如何正确编写这部分fname="$*.nordvpn.com.tcp.ovpn"

这将使脚本随机选择一个 ovpn 并连接到它。

答案1

#!/bin/bash

set -- *.nordvpn.com.tcp.ovpn
shift $(( RANDOM % $# ))
openvpn "$1"

这会将位置参数设置为 VPN 文件列表,然后移出其中的随机数(0 到 N-1),留下“随机”VPN 文件作为参数 #1,然后使用该参数。

(没有对 VPN 文件是否存在进行错误检查)

相关内容