有配置文件 server.conf
serverlist=("1 服" "2 服")
id1=("32" "192.168.0.102" "223.5.5.5" "/opt/game/gamesvr")
id2=("33" "10.0.1.2" "223.5.5.5" "/opt/game/gamesvr")
需要实现的功能
读取 serverlist 打印出列表,让用户选择
比如:
选择 1 服
那么对应的数据为 id1
我需要将 id1 列表中的 4 条数据读取出来并赋给其它 4 个变量
PS:一次性可以选择一个服务器 也可以 选择多个服务器
目前我的代码,错误的
#!/bin/bash
. /root/scripts/server.conf
while true; do
echo "=================================="
echo "多选以空格分开,ctrl+c 退出"
for i in ${serverlist[*]} ; do
a=1
echo "$a . $i"
let a=a+1
done
read -p "请选择服务器列表:" select_serverlist
break
done
for i in ${select_serverlist[*]}; do
serverid=${id$i[1]}
lan=${id${i}[2]}
wan=${id${i}[3]}
serverdir=${id${i}[4]}
done
func_updatefile(){
# $1 为内网 ip $2为本地文件路径 $3为远程文件存放路径
ansible $1 -m copy -a "src=$2 dest=$3"
}
func_gameserver(){
# $1 为内网 ip $2为远程游戏目录 $3为动作
ansible $1 -a "$2/game.sh $3"
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于