zoukankan      html  css  js  c++  java
  • 玩转变量、环境变量以及数学运算(shell)

    变量和环境变量   

    var=value  给变量赋值,输出语句:$ echo $var或者是$ echo ${var},记住中间有个空格

    例如:name="coffee" age="20" $echo "我的名字是:${name},年龄是:${age}" 在输出语句echo中可以在双引号中使用变量,但是如果是单引号那么变量不会扩展得到定义的值。

     

    获取字符串的长度:${#var}

    1 //例如:
    2 name="yy" $echo ${#name}
    3 //输出的结果为2。
    View Code

    $0或者是$SHELL   可以获取当前使用的是那种shell,注意:shell所有字母必须都是大写的

    export命令设置环境变量,至此之后,当前的shell脚本都会继承这个变量值,

    一些常用的环境变量:HOME PWD USER UID SHELL

    UID:检查当前脚本用户身份,root用户的UID0

    SHELL:当前shell的类型

    数学运算     

    let命令简单的算术操作,使用时变量名之前可不需要添加$

    实例如下图:

     

    自加操作:$ let one++

    自减操作:$ let two--

    也可以这样简写:$ let one+=2   $ let two-=1分别等同于$ let one = one + 2和$ let two = two - 1 

    操作符[]也有和let命令类似作用

     

    也可以使用(()),但是需要注意变量名之前需要加上$,否则会出错。

     

    以上方法只适合与整数之间的运算,不支持小数。

    现实生活没有小数那几乎是不可能的,当然了shell也不会那么的简单,bc命令就是一个数学运算高级工具,它可执行浮点数运算并应用一些高级函数:

     

    设定小数的精度scale命令,在对于乘法(*)运算时没有效果

     

    进制之间转换obase(输出的进制)ibase(输入的进制)命令

     

    计算平方、平方根sqrt命令

     

    注意:上图中如果不能够平方根的那么结果得到的是比原值都小中的最大值

  • 相关阅读:
    mysql修改数据表名
    HDU 5742 It's All In The Mind (贪心)
    HDU 5752 Sqrt Bo (数论)
    HDU 5753 Permutation Bo (推导 or 打表找规律)
    HDU 5762 Teacher Bo (暴力)
    HDU 5754 Life Winner Bo (博弈)
    CodeForces 455C Civilization (并查集+树的直径)
    CodeForces 455B A Lot of Games (博弈论)
    CodeForces 455A Boredom (DP)
    HDU 4861 Couple doubi (数论 or 打表找规律)
  • 原文地址:https://www.cnblogs.com/JustOnly/p/5382890.html
Copyright © 2011-2022 走看看