经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Linux/Shell » 查看文章
浅谈linux shell的变量及其基本运算(1)
来源:cnblogs  作者:如知  时间:2021/5/31 9:02:15  对本文有异议

大数据时代,后台的服务器的操作系统一般是linux。对于很多人来说,linux的shell是另类的语言,甚至很多人没有觉得它是一门语言。而实际上,linux的shell功能非常强大。特别是在文件、目录、系统进程的操作、管理等方面,有非常好用的功能。

先说说linux shell的变量。这里主要讨论一般变量及其基本运算。还有一种变量属于系统变量,比如用set、env命令可以看到。对于系统变量的用途,本文暂不涉及。

  1. 1.变量命名规则
  1. 以字母或下划线开头,剩下的部分可以是:字母、数字、下划线。
  1. 例如: sql_bak.tar.gz,log_bak.tar.bz2_var,LD_LIBRARY_PATH

  1. 2.定义变量。注意这个时候变量名前没有"$"
    例如:your_name="bigdata.com"a=20
  1. 3.使用变量。
    使用一个定义过的变量,只要在变量名前面加美元符号即可,如:
  1. echo $your_name
  2. echo ${your_name}

    变量名外面的花括号是可选的,加不加都行,加花括号是为了帮助解释器识别变量的边界。
    拼接字符串:
  1. # 使用双引号拼接
  1. your_name="Peter"
  1. greeting="hello, "$your_name" !"
  2. greeting_1="hello, ${your_name} !"
  3. echo $greeting $greeting_1
    #hello,Peter! hello,Peter!
  1.  
  1. 算术运算:
    a=2 ; b=3
  1. val=`expr $a + $b`;echo $val
  1. var1=$((a + b));echo $var1
    var2=$[a + b];echo $var2
    let "var3=a+b";echo $var3
    #5 --以上这四种表达方式结果完全相同。感觉后三种执行速度要快。但是shell版本不同,对于第2种的支持不同。本文暂不讨论。对于bash来说以上四种均支持。
  1. #运算符 说明 举例 (a=10;b=20)
    #+ 加法 `expr $a + $b` 结果为 30。
    #- 减法 `expr $a - $b` 结果为 -10。
    #* 乘法 `expr $a \* $b` 结果为 200。
    #/ 除法 `expr $b / $a` 结果为 2。
    #% 取余 `expr $b % $a` 结果为 0。
    #= 赋值 a=$b 将把变量 b 的值赋给 a。
    #== 相等。用于比较两个数字,相同则返回 true。 [ $a == $b ] 返回 false。
    #!= 不相等。用于比较两个数字,不相同则返回 true。 [ $a != $b ] 返回 true。
    #注意:条件表达式要放在方括号之间,并且要有空格,例如: [$a==$b] 是错误的,必须写成 [ $a == $b ]。
  1.  

原文链接:http://www.cnblogs.com/dingzy1972/p/14810557.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号