有配置文件 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" }
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于