美文网首页
Shell 数组与数学运算

Shell 数组与数学运算

作者: lujg12 | 来源:发表于2018-04-21 15:42 被阅读0次

参考书籍 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" | bc
no=1100100
echo "obase-10;ibase=2;$no" | bc
echo "sqrt(100)" | bc
echo "10^10" | bc

相关文章

  • Shell 数组与数学运算

    参考书籍 Linux shell 脚本攻略 数组和关联数组 数组分类普通数组:只能使用整数作为数组索引。关联数组:...

  • Shell 学习

    shell 变量 shell 参数传递 shell 数组 shell 运算符 shell echo 命令 prin...

  • Shell 教程

    Shell 变量 Shell 传递参数 Shell 数组 Shell 基本运算符 Shell echo 命令 Sh...

  • 【linux编程】生信编程-shell脚本编程-数学运算

    shell编程 Shell 脚本中的数学运算 bash shell 的基础运算主要有4种形式: $(( expre...

  • python中的矩阵运算

    NumPy支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。首先安装NumPy,安装过pand...

  • shell 语法

    shell 语法如何抒写一个shell脚本shell脚本运行shell中的特殊符号管道重定向shell中数学运算脚...

  • 数据科学三基友之Numpy

    NumPy是Python语言的一个扩充程序库 ,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数...

  • 神经网络算法实践

    NumPy 是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学...

  • nympy/pandas基本操作

    NumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函...

  • Shell -- 数学运算

    shell脚本关键在于输入多个命令并且处理每个命令的结果,将一个命令结果传给另外一个命令。 两个命令在一起运行,用...

网友评论

      本文标题:Shell 数组与数学运算

      本文链接:https://www.haomeiwen.com/subject/fjexlftx.html