zoukankan      html  css  js  c++  java
  • shell的数值运算

    expr

    [root@shell ~]# expr 10 + 10
    20
    [root@shell ~]# expr 10 - 10
    0
    [root@shell ~]# expr 10 * 10
    expr: syntax error
    [root@shell ~]# expr 10 * 10
    100
    [root@shell ~]# expr 10 / 10 
    1
    [root@shell ~]# num1=10
    [root@shell ~]# num2=20
    [root@shell ~]# expr $num1 + $num2
    30

    $(()) 双口号是运算 单括号是变量 $(date) 只支持整数运算 效率最高的 大运算

    [root@shell ~]# echo $((10+10))
    20
    [root@shell ~]# echo $((10-10))
    0
    [root@shell ~]# echo $((10*10))
    100
    [root@shell ~]# echo $((10/10))
    1
    [root@shell ~]# echo $((10+10-5))
    15
    [root@shell ~]# echo $((10+10-5*6))
    -10
    [root@shell ~]# num1=10
    [root@shell ~]# num2=20
    [root@shell ~]# echo $(($num1*$num2))
    200

    $[] 简洁 做整数运算

    [root@shell ~]# echo $[10+10]
    20
    [root@shell ~]# echo $[10+10*20]
    210
    [root@shell ~]# echo $[10+10*20-1000]
    -790
    [root@shell ~]# echo $[10+10*20/1000]
    10

    let

    [root@shell ~]# let a=10+10
    [root@shell ~]# echo $a
    20
    [root@shell ~]# let a=10*10
    [root@shell ~]# echo $a    
    100
    [root@shell ~]# let a=10/10
    [root@shell ~]# echo $a    
    1
    [root@shell ~]# let a=$num1+$num2
    [root@shell ~]# echo $a
    30
    [root@shell ~]# let i++
    [root@shell ~]# echo $i
    1
    [root@shell ~]# let i++
    [root@shell ~]# echo $i
    2
    [root@shell ~]# let i++
    [root@shell ~]# echo $i
    3
    
    [root@shell ~]# #let i++ =  i=i+1
    [root@shell ~]# #i=0
    [root@shell ~]# #let i++ i=0+1
    [root@shell ~]# #i=1
    [root@shell ~]# #let i++ i=1+1
    [root@shell ~]# #i=2
    [root@shell ~]# #let i++ i=2+1
    [root@shell ~]# #i=3

    整数及小数运算
    bc
    yum install bc -y

    [root@shell ~]# echo 10*10|bc
    100
    [root@shell ~]# echo 10*10.5|bc
    105.0
    [root@shell ~]# echo 10-5.5|bc 
    4.5
    [root@shell ~]# echo 10/5.5|bc
    1

    awk运算

    [root@shell ~]# awk 'BEGIN{print 10+10}'
    20
    [root@shell ~]# awk 'BEGIN{print 10-10}'
    0
    [root@shell ~]# awk 'BEGIN{print 10*10}'
    100
    [root@shell ~]# awk 'BEGIN{print 10/10}'
    1
    [root@shell ~]# awk 'BEGIN{print 10^10}'
    10000000000
    [root@shell ~]# awk 'BEGIN{print 10-4.5}'
    5.5
    [root@shell ~]# awk 'BEGIN{print 10*4.5}'
    45
    [root@shell ~]# awk 'BEGIN{print 10/4.5}'
    2.22222

    python

    >>> 10+10
    20
    >>> 10*10
    100
    >>> 100/1.5555
    64.28801028608164

    小结:
    expr $(()) $[] let 只能做整数运算 $(())大运算效率最高
    bc awk python 支持整数和小数运算

    案例: 做一个加减乘除的计算器

    [root@shell scripts]# cat count.sh 
    #!/bin/sh
    echo $1+$2="$[$1+$2]"
    
    [root@shell scripts]# sh count.sh 10 20
    10+20=30
  • 相关阅读:
    一个小时学会MySQL数据库
    4种解决json日期格式问题的办法
    一个小时学会Git
    docker 常用操作
    Fine-Grained Image (细粒度图像) – Papers, Codes and Datasets
    Pytorch在colab和kaggle中使用TensorBoard/TensorboardX可视化
    训练集,验证集,测试集比例
    深度学习模型评估指标
    注意力机制(Attention Mechanism)应用——自然语言处理(NLP)
    自注意力机制(Self-attention Mechanism)——自然语言处理(NLP)
  • 原文地址:https://www.cnblogs.com/youhongliang/p/12706289.html
Copyright © 2011-2022 走看看