Bash数组】的更多相关文章

声明一个数组array,一个待测试元素var array=( element1 element2 element3 ) var="element1" 接下来用几种方法来分别测试var是否是array中的元素 判断方法1: echo "${array[@]}" | grep -wq "$var" && echo "Yes" || echo "No" 判断方法2: for i in ${arra…
bash数组操作 bash支持两种数组,一种是索引数组,一种是关联数组 索引数组 数组的值类型是任意的,索引也未必一定要连续,当做列表理解更好 下面总结下索引数组,即列表: 1. 声明 declare -a a 2. 初始化 a=(1 2 3 4) # OR a=([0]=2 [3]=8) # 注意长度为2,不是4 3. 获取列表长度 size=${a[@]} 4. 追加元素 a+=(11 12 13 14) 5. 赋值 a[1]=9 6. 按索引读取 value=${a[0]} # 读取索引0…
复杂的数据结构和计算不是 bash 的特长.但它的确至少提供了数组和算术运算. 1.算术运算 所有的 bash 变量的值都是字符串,所以 bash 在赋值的时候并不区分数字 1 和 字符串 "1" .不同之处在于如何使用变量.下面几行代码展示出了其中的差异: #!/bin/bash a= b=$(()) c=$a+$b d=$(($a+$b)) echo "$a + $b = $c \t(plus sign as string literal)" echo &quo…
数组:     连续的多个独立内存空间,每个内存空间相当于一个变量     数组元素:数组名+索引         索引:从0开始编号             声明数组:         declare -a ARRAR_NAME             declare -a test             test[0]             test[1]     关联数组:         declare -A ARRAY_NAME         支持稀疏格式         数组元…
1. 数组申明 declare -a array 2. 数组赋值 #法1 array=(var1 var2 var3 ... varN) #法2 array=([]=var1 []=var2 []=var3 ... [n]=varN) #法3 array[]=var1 arrya[]=var2 ... array[n]=varN 3. 计算数组个数 #法1 ${#array[@]} #法2 ${#array[*]} 4. 获取数组的一部分 new=${adobe[@]::} new=${adob…
for处理时会自动把顺序按A-Z排序了 [root@XM-v106 ~]# bash b.sh A -> B -> C -> D -> E -> [root@XM-v106 ~]# cat b.sh #!/bin/bash declare -A array array=([B]= [A]= [E]= [D]= [C]= ) for i in ${!array[*]} do echo "$i -> ${array[$i]}" done 解决数组排序 […
#!/bin/bash#数组的使用#数组赋值方式:#1. user[index]=value index为0,1,2,3,4....数组下标值#2. user=(value0 value1 value2....) 既user[n]=valuen#3. user=([2]=value2 [1]=value1 [0]=value0) 指定数组数据方式赋值,顺序是    可以任意的#4. user=([2]=value2 value3 valu4) 指定数组首地址开始赋值,后面数据依次累加#从pass…
写这个脚本也加深了对 bash 数组的理解. #!/bin/bash #2015-11-23 echo -e "说明:\n将文件放在/app/tmp_class目录下,保证该目录下没有其他文件\n备份目录在/app/tmp下以时间命名\n\n" echo "1./app/tomcat/" echo "2./app/tomcat_8081/" echo "3./app/tomcat_thirdparty/" read -p &q…
冒泡排序是非常基础的排序算法,本文我们看看在 Bash 脚本中如何写冒泡排序.本文的演示环境为 ubuntu 16.04. 冒泡排序的简要描述如下: 通过连续的比较对数组中的元素进行排序 比较两个相邻的元素,如果顺序不对,就交换这两个元素的位置 当第一轮比较结束之后,最 "重" 的元素就会被移动到最底部 当第二轮比较结束之后,第二 "重" 的元素就会被移动到次底部的位置 这意味着每轮比较不需要比较之前已经 "沉淀" 好的数据 如果有 n 个元素,…
[20191011]bash任意进制编码表.txt --//bash可以使用任意进制编码转化为十进制.我想了解内部编码:--//实际上受字符集的限制,"任意"进制有限制的.测试看看最大是多少. 1.input base最大支持多少. $  echo $((16#F))15 $  echo $((16#f))15 --//说明:前面16表示16进制,F表示编码,结果输出10进制 15.--//注意看大小写输出都是15.说明16进制编码 0-9,a-f  或者0-9,A-F. $  ech…