3.Shell 数组

bash支持一维数组(不支持多维数组),并且没有限定数组的大小。
类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。
1.1定义数组
在Shell中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:
数组名=(值1 值2 ... 值n) 
例如:array_name=(value0 value1 value2 value3)
或
array_name=(
	value0
	value1
	value2
	value3
	)
还可以单独定义数组的各个分量:
array_name[0]=value0
	array_name[1]=value1
	array_name[n]=valuen
可以不使用连续的下标,而且下标的范围没有限制。
1.2读取数组
读取数组元素值的一般格式是:
${数组名[下标]}
例如:valuen=${array_name[n]}
使用@符号可以获取数组中的所有元素,例如:echo ${array_name[@]}
1.3获取数组的长度
获取数组长度的方法与获取字符串长度的方法相同,例如:
 取得数组元素的个数
          length=${#array_name[@]}
 或者
	  length=${#array_name[*]}
        # 取得数组单个元素的长度
	  lengthn=${#array_name[n]}
1.4遍历数组
let:进行算数运算操作
#!/bin/bash

	my_arry=(a b "c","d" abc)
	echo "-------FOR循环遍历输出数组--------"
	for i in ${my_arry[@]};
	do
  	   echo $i
	done

	echo "-------::::WHILE循环输出 使用 let i++ 自增:::::---------"
	j=0
	while [ $j -lt ${#my_arry[@]} ]
	do
 	   echo ${my_arry[$j]}
  	let j++
	done

	echo "--------:::WHILE循环输出 使用 let  "n++ "自增: 多了双引号,其实不用也可以:::---------"
	n=0
	while [ $n -lt ${#my_arry[@]} ]
	do
  	   echo ${my_arry[$n]}
 	let "n++"
	done

	echo "---------::::WHILE循环输出 使用 let m+=1 自增,这种写法其他编程中也常用::::----------"
	m=0
	while [ $m -lt ${#my_arry[@]} ]
	do
  	   echo ${my_arry[$m]}
  	let m+=1
	done

	echo "-------::WHILE循环输出 使用 a=$[$a+1] 自增,个人觉得这种写法比较麻烦::::----------"
	a=0
	while [ $a -lt ${#my_arry[@]} ]
	do
 	    echo ${my_arry[$a]}
 	a=$[$a+1]
	done
内容概要:本文档为《400_IB Specification Vol 2-Release-2.0-Final-2025-07-31.pdf》,主要描述了InfiniBand架构2.0版本的物理层规范。文档详细规定了链路初始化、配置与训练流程,包括但不限于传输序列(TS1、TS2、TS3)、链路去偏斜、波特率、前向纠错(FEC)支持、链路速度协商及扩展速度选项等。此外,还介绍了链路状态机的不同状态(如禁用、轮询、配置等),以及各状态下应遵循的规则和命令。针对不同数据速率(从SDR到XDR)的链路格式化规则也有详细说明,确保数据包格式和控制符号在多条物理通道上的一致性和正确性。文档还涵盖了链路性能监控和错误检测机制。 适用人群:适用于从事网络硬件设计、开发及维护的技术人员,尤其是那些需要深入了解InfiniBand物理层细节的专业人士。 使用场景及目标:① 设计和实现支持多种数据速率和编码方式的InfiniBand设备;② 开发链路初始化和训练算法,确保链路两端设备能够正确配置并优化通信质量;③ 实现链路性能监控和错误检测,提高系统的可靠性和稳定性。 其他说明:本文档属于InfiniBand贸易协会所有,为专有信息,仅供内部参考和技术交流使用。文档内容详尽,对于理解和实施InfiniBand接口具有重要指导意义。读者应结合相关背景资料进行学习,以确保正确理解和应用规范中的各项技术要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值