3列数组,arrayA,arrayB,arrayC;
分别一一对应主机及其主机所能创建的资源数,还有arrayC表示需要创建的资源数;
arrayA=("192.168.1.1" "192.168.1.2" "192.168.1.3" "192.168.1.4")
arrayB=("1" "2" "1" "2")
arrayC=("100" "200" "300" "400" "500" "600" "700")
注意,以前情况${#arrayC[@}}=7,超过了arrayB所有所能创建的资源数1+2+1+2=6,
当需要创建资源700的时候,脚本自动退出;
以上有2种解决方法,第一种正向双for循环,从第一个元素轮循到最后一个元素,
不过这种方法效率不高,接下来提供第二种方法,代码也写少了几十行;

for _host in ${array[A]};do

    j=${arrayB[]}

    for _res in ${array[C]};do

    ssh ${_host} init
[[ $? == ]] && { ((j=j-));echo "Success"; } || { echo "Fail";exit ; }
arrayC=(${array[@]:}) if [[ ${j} == "" ]];then
[[ ${#arrayC[@]} == "" ]] && STATUS= || { STATUS=;break; }
esle
[[ ${#arrayC[@]} == "" ]] && STATUS=
fi done if [[ "${STATUS}" == "" ]];then arrayA=(${arrayA[@]:})
arrayB=(${arrayB[@]:}) if [[ ${#array[@]} == "" ]];then
[[ "${#arrayC[@]}" != "" ]] && { echo "资源有限,${arrayC[@]}拒绝创建";exit ; }
esle
continue
fi else
{ echo "已按要求初始化";exit ; }
fi
done

Base:-用数组赋值实现while和shift功能的更多相关文章

  1. C语言 给字符数组赋值的方法

    typedef struct _tagTESTCHAR { char szTest[30];}TESTCHAR , *PTESTCHAR; int main(int argc, char* argv[ ...

  2. java中将一个字符数组赋值给另一个,两者同时变化

    java中将一个字符数组赋值给另一个,两者的变化怎么是同步的?怎么才能让他们独立开? 比如有一个int[][] a 已经存在值,现在定义int[][] b=a;之后改变a的值,为何b也跟着改变?怎么才 ...

  3. 动态二维数组赋值及for循环遍历和toString遍历

    package com.Summer_0421.cn; import java.util.Arrays; /** * @author Summer * 动态二维数组赋值及for循环遍历和toStrin ...

  4. 【Java】 foreach对数组赋值问题

    今天写代码时发现了如下问题: public class Test { public static void main(String[] args) { int[] arr= new int[5]; f ...

  5. C语言可以给字符数组赋值的方法

    分类: C 2012-04-06 10:23 4081人阅读 评论(0) 收藏 举报 语言c 学了这么多年的C语言,突然发现连字符串赋值都出错,真的很伤心. char a[10]; 怎么给这个数组赋值 ...

  6. JAVA中如何创建一个二维数组,然后给二维数组赋值!

    普通的赋值是:int[][] i = {{1,2,3},{2,3,4},{1,3,4}}; 如果是其他情况可以这样:比如: import java.util.* public class TT(){ ...

  7. js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip

    push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( ite ...

  8. unsigned char数组赋值

    memset(send_buf, 0, SEND_BUFF_LEN); const char * pStr = "this is test txt"; strcpy((char*) ...

  9. JS数组 谁是团里成员(数组赋值)var myarray = new Array(66,80,90,77,59);//创建数组同时赋值

    谁是团里成员(数组赋值) 数组创建好,接下来我们为数组赋值.我们把数组看似旅游团的大巴车,大巴车里有很多位置,每个位置都有一个号码,顾客要坐在哪个位置呢? 第一步:组个大巴车 第二步:按票对号入座 大 ...

随机推荐

  1. 总结-Intellij Idea (快捷键 配置修改)

    忽略大小写 输入sensitive,选择Code Completion,右边第一个下拉框,选择noneEditor 鼠标悬浮show quick docEditor Editor Tabs : Mar ...

  2. supervisorctl error: <class 'socket.error'>

    http://stackoverflow.com/questions/18859063/supervisor-socket-error-issue supervisorctl reread error ...

  3. 一个node项目的框架搭建流程

    项目服务端编程语言node,前端js,数据库mongodb, 开发工具用webstorm. 使用express应用生成器,生成项目雏形. 安装应用生成器工具,命令是npm install expres ...

  4. Android NDK常见配置问题的解决方案

    添加NDK包时出现"Not a valid NDK directory" 在解压的android-ndk-rxxx文件夹中新建一个txt文件,将名字包括后缀更改为ndk-build ...

  5. (Java) 2014年1月1日减一个月涉及时间与字符的转换

    import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor ...

  6. iptables的conntrack表满了导致访问网站很慢

    iptables的conntrack表满了导致访问网站很慢 转载自:https://my.oschina.net/jean/blog/189935 检查系统conntrack表是否满 现象:突然发现访 ...

  7. 解决Chrome flash过期

    解决Chrome flash过期的办法安装Adobe Flash Player PPAPI

  8. [Android Tips] 22. Available Java 7 Features in Android

    This only allows Java 7 language features, and you can hardly benefit from anything since a half of ...

  9. ios 证书申请和发布流程

    证书是什么? 上面这个就是我们申请好证书后,下载到本地的.cer文件,也就是常说的开发证书与发布证书的样式.这.cer文件格式的证书是让开发者使用的设备(也就是你的Mac)有真机调试,发布APP的权限 ...

  10. JSP三大指令、七大动作、九大对象

    <%---------------------- JSP三大指令 -----------------------------%><%-- 1. page: language impo ...