我正在尝试编辑以下 bash 脚本以从目录内的文件vpn
列表中随机连接。.ovpn
ovpn
我从以下位置下载了以下文件nordvpn
这是以下 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 文件是否存在进行错误检查)