Base:-用数组赋值实现while和shift功能
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功能的更多相关文章
- C语言 给字符数组赋值的方法
typedef struct _tagTESTCHAR { char szTest[30];}TESTCHAR , *PTESTCHAR; int main(int argc, char* argv[ ...
- java中将一个字符数组赋值给另一个,两者同时变化
java中将一个字符数组赋值给另一个,两者的变化怎么是同步的?怎么才能让他们独立开? 比如有一个int[][] a 已经存在值,现在定义int[][] b=a;之后改变a的值,为何b也跟着改变?怎么才 ...
- 动态二维数组赋值及for循环遍历和toString遍历
package com.Summer_0421.cn; import java.util.Arrays; /** * @author Summer * 动态二维数组赋值及for循环遍历和toStrin ...
- 【Java】 foreach对数组赋值问题
今天写代码时发现了如下问题: public class Test { public static void main(String[] args) { int[] arr= new int[5]; f ...
- C语言可以给字符数组赋值的方法
分类: C 2012-04-06 10:23 4081人阅读 评论(0) 收藏 举报 语言c 学了这么多年的C语言,突然发现连字符串赋值都出错,真的很伤心. char a[10]; 怎么给这个数组赋值 ...
- JAVA中如何创建一个二维数组,然后给二维数组赋值!
普通的赋值是:int[][] i = {{1,2,3},{2,3,4},{1,3,4}}; 如果是其他情况可以这样:比如: import java.util.* public class TT(){ ...
- js 的数组怎么push一个对象. Js数组的操作push,pop,shift,unshift JavaScrip
push()函数用于向当前数组的添加一个或多个元素,并返回新的数组长度.新的元素将会依次添加到数组的末尾. 该函数属于Array对象,所有主流浏览器均支持该函数. 语法 array.push( ite ...
- unsigned char数组赋值
memset(send_buf, 0, SEND_BUFF_LEN); const char * pStr = "this is test txt"; strcpy((char*) ...
- JS数组 谁是团里成员(数组赋值)var myarray = new Array(66,80,90,77,59);//创建数组同时赋值
谁是团里成员(数组赋值) 数组创建好,接下来我们为数组赋值.我们把数组看似旅游团的大巴车,大巴车里有很多位置,每个位置都有一个号码,顾客要坐在哪个位置呢? 第一步:组个大巴车 第二步:按票对号入座 大 ...
随机推荐
- Maven环境搭建
1,下载maven zip版 http://maven.apache.org/download.cgi 2,配置maven环境变量 (1) 新建MAVEN_HOME环境变量 E:\TOOLS\A ...
- HTML 播放器 写给自己
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...
- SQL语句 - MERGE INTO 、Cross/Outer Apply用法理解
MERGE INTO 语法: MERGE INTO table_name alias1 USING (table|view|sub_query) alias2ON (join condition) W ...
- IO复用三种方式
简介 IO复用技术,简单来说就是同时监听多个描述符.在没有用到IO复用以前,只能是一个线程或一个 线程去监听,服务端同时有多个连接的时候,需要创建多个线程或者进程.而且,并不是所有的连 接是一直在传输 ...
- css绘制特殊图形,meida查询,display inline-box间隙问题以及calc()函数
本文同时发表于本人个人网站 www.yaoxiaowen.com 距离上一篇文章已经一个月了,相比于写代码,发现写文章的确是更需要坚持的事情.言归正传,梳理一下这一个月来,在写ife任务时,有必要记录 ...
- H264编码原理以及I帧、B和P帧详解
H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点 ...
- Resharper 8.2 注册码
用户名:ronle注册码:ZoJzmeVBoAv9Sskw76emgksMMFiLn4NM
- val()失效
在表单设置了disabled或者readonlye,那么val()方会失效,可以采用$().attr('value','')
- 异常:java.io.IOException: Too many open files:
原因: 操作系统的中打开文件的最大句柄数受限所致,常常发生在很多个并发用户访问服务器的时候.因为为了执行每个用户的应用服务器都要加载很多文件(new一个socket就需要一个文件句柄),这就会导致打开 ...
- Spring操作指南-针对JDBC配置声明式事务管理(基于注解)