Shell-数组与数学运算

xiaoxiao2021-02-28  57


参考书籍 Linux shell 脚本攻略


数组和关联数组

数组分类 普通数组:只能使用整数作为数组索引。关联数组:可以使用字符串作为数组索引。定义数组 单行中使用一列值来定义:array_var=(1 2 3 4 5 6) #存储在以0为起始索引的连续位置上定义为一组 索引——值对 array_var[0]="test1" array_var[1]="test2" echo ${array_var[0]} echo ${array_var[*]} echo ${array_var[@]} echo ${#array_var[*]} 关联数组 “` declare -A ass_array #声明关联数组 ass_array=([index1]=val1 [index2]=val2) #内嵌索引-值列表法添加元素 ass_array[index1]=val1 #使用独立的索引-值进行赋值 #### 数学运算 赋值:用普通的变量赋值方法定义数字,不过存储为字符串,需要用一些方法使它能够像数字一样进行处理。 * `let` 命令可直接执行基本的算术操作。使用`let`时,变量名前不需要添加 `$`,

!/bin/bash

no1=4 no2=5 let result=no1+no2 let no1++ let no2– let no1+=6 let no2-=6 echo $result

* 其它方法 1\. 操作符 `[]`,使用方法和let命令类似,`[]`中也可以使用`$`前缀: `result=$[ no1 + no2 ]` `result=$[ $no1 + 5 ]` 2\. 操作符`(())`,变量名前要加上 `$` `result=$(( no1 + 50 ))` 3\. `expr`命`result=$(expr $no1 + 5)` **注**:以上方法只能用于整数运算,不支持浮点数。 * `bc`是一个用于数学计算的高级工具,可借助它执行浮点数运算并应用一些高级函数。 1\. 设置小数精度:例子中参数 `scale=2`将小数位个数设置为2,因此将输出含两个小数位的数值。 2\. 进制转换。 3\. 计算平方以及平方根。 例:

result=echo "$no1 * 1.5" | bc echo “scale=2;3/8” | bc no=100 echo “obase=2; no|bcno=1100100echoobase10;ibase=2; n o ” | b c n o = 1100100 e c h o “ o b a s e − 10 ; i b a s e = 2 ; no” | bc echo “sqrt(100)” | bc echo “10^10” | bc “`

转载请注明原文地址: https://www.6miu.com/read-2628265.html

最新回复(0)