介绍

变量是shell脚本中必不可少的组成部分,在脚本中使用变量不需要提前声明。在bash中每一个变量都是字符串,所以在变量赋值时候不管有没有使用引号都是以字符串的形式存储,但是如果值中存在特殊字符就需要用引号将值进行引用, 在bash中可以使用单引号或者双引号。

环境:centos 6.7

赋值

给变量赋值:

var=value

特别注意变量和值之间不要存在空格,否则会被认为是等值判断,比如[var = value]

调用变量只需要在变量前加上$

输出变量:

echo $value
或
echo ${value}

例:写一个shell脚本输出今天的日期

vim assign

#!/bin/bashvar=`date +'%Y-%m-%d'`
echo "today is $var"

运算

[]、(())

注意上面的两种是固定的写法,都是用来在shell中做算术运算,并且在这两个操作符前都需要使用$符合,在括号里面变量前可以使用$也可以不使用

#!/bin/bashvar1=1var2=2result1=$[var1+var2]
result2=$[$result1+1]
result3=$((result2+1))
result4=$(($result3+1))
echo $result1 $result2 $result3 $result4

在shell环境中可以使用let,[],(())进行基本的算术运算。

let

let的算术运算包括,let本身也可以进行赋值

方法1:简单算术运算

var1=1var2=2let result=var1+var2

方法2:自加

let var2++ 等同于 let var2=var2+1

方法3:简写

let var2+=2等同于
let var2=var2+2

脚本

#!/bin/bashvar1=1var2=2let result=var1+var2
let var2++let var1+=5printf "var1=1 var2=2 \n"printf  "%-10s %-8s %-6s\n" var1+var2 var2++ var1+=5printf  "%-10s %-8s %-2s \n" $result $var2 $var1let var=5echo $var

注意:上面只是测试了加法运算,对于其他的算术运算都支持,但是只支持×××,对于存在小数的运算不支持。

高级运算bc

支持小数运算

语法

echo "  " | bc

如果要将bc运算出的结果作为变量可以这样

result=`echo " " | bc `
#!/bin/bashecho "0.5*10" | bcvar=5result=`echo "$var*0.5" | bc`
echo $result

总结

赋值算法还是比较简单,后面慢慢完善

转载于:https://blog.51cto.com/13013670/1939662

Linux Shell变量相关推荐

  1. Linux shell 变量 数学 运算

    出处:http://qujunorz.blog.51cto.com/6378776/1382085 Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种 ...

  2. Linux Shell变量类型

    Linux Shell 变量的类型 自定义变量类型 定义变量: 变量名=变量值 变量名必须以字母或者下划线开头,区分大小写 引用变量: 变量名或者变量名 或者变量名或者(变量名) 查看变量: echo ...

  3. linux shell变量的,linux shell变量解析

    摘要 腾兴网为您分享:linux shell变量解析,智影,智联招聘,智慧消防,音恋等软件知识,以及考拉fm电台,快快游戏,京东企业购app,pdf加密工具,高德导航3d版,电脑驱动,兰溪新闻,我爱网 ...

  4. linux shell 变量减法_Linux Shell (3) - 变量运算

    Linux Shell (3) - 变量运算 String - expr命令 concat str=$str1$str2 str=$str1' '$str2 str=$str'12345 '$str2 ...

  5. Linux Shell变量使用

    一.本地变量的使用 本地变量就如同局部变量一样,只在本SHELL中起作用.它不会影响到其他SHELL中的变量. 1.显示变量值 可以使用echo命令.需要注意的是,使用变量的时候必须在变量名前加上$符 ...

  6. 《Linux shell变量总结回顾》RHEL6

    在实际的生产中,运维一般使用的shell语法还是比较多的,时不时的就要写一个简短shell脚本,大型的shell脚本用到的function 比较多,便于下一个脚本的引入,下面主要总结一些简单的shel ...

  7. linux shell变量作用域,Shell变量的作用域:Shell全局变量、环境变量和局部变量

    Shell变量的作用域(Scope),就是Shell变量的有效范围(可以使用的范围). 在不同的作用域中,同名的变量不会相互干涉,就好像A班有个叫小明的同学,B班也有个叫小明的同学,虽然他们都叫小明( ...

  8. 《Linux shell变量总结回顾》RHEL6(转)

    文章版权:http://www.cnblogs.com/linux-super-meng/ 环境变量路径: [root@localhost ~]# set   //查看到的是局部变量和全局变量2种 [ ...

  9. linux shell 变量减法_第四章 shell和环境变量

    第四章 shell和环境变量 4.1    shell简介 4.1.1 编译器 一台计算机从基本架构上讲,由最基本的硬件组成硬件结构(如:cpu.内存.主板.声卡.显卡等),我们知道,硬件组成完备,但 ...

  10. linux shell 变量 管道,linux下shell,变量,管道,重定向等基础知识及技巧

    知识点如下: 1,关于shell编程中的变量,shell编程中的变量分为4种 本地变量:只对本系统本用户自己的shell有用 环境变量:对本系统的所有shell都有用  用export来声明变量  例 ...

最新文章

  1. 组合与继承之重写方法和字段
  2. Logback日志跨线程追踪实践
  3. 京东云默默搞了个操作系统,然后惊艳了一大片煤矿
  4. python web-手把手教你写网站:Python WEB开发技术实战
  5. sql入门经典第5版pdf网盘_如何学习 SQL 语言?
  6. SpringSecurity权限控制之异常处理方式三
  7. uinavigation样式
  8. Java建造者模式详解
  9. C#数学计算包 Math.NET
  10. Springcould(二)之搭建服务注册中心Eureka集群
  11. 根据APK文件查看应用的MD5签名
  12. ansible中变量注册 register的使用
  13. Windows7计算机的程序文件名,Win7怎么显示文件后缀名_Win7显示文件的扩展名-192路由网...
  14. 如何编写一个短线交易策略(收藏)
  15. C语言中空白字符与空字符的区别
  16. cacti nagios nginx squid等怎么读?
  17. 课程学习:让神经机器翻译模型像人类一样学习
  18. Geospatial Data Science (4): Spatial weights
  19. 小型校园网的设计与组建
  20. 软件项目研发过程中阶段划分和工作方法

热门文章

  1. unity 斥力_基于绝对能量守恒原理的基础物理理论-国家科技图书文献中心.PDF
  2. MySQL基础_练习和一个经典面试题
  3. mysql数据库 性别 优化_BATJ解决千万级别数据之MySQL 的 SQL 优化大总结
  4. php7 捕获语法错误,PHP7 method_exists未捕获错误:函数名称必须是字符串
  5. md5修改工具_【q001】如何校验文件的MD5
  6. 后端根据百度地图真实路径距离_做地图功能的设计,有哪些容易被我们忽略的思考?...
  7. python线程池传入多个参数_python线程池问题
  8. c语言上机实验作业答案,第十二次C语言上机实验参考答案
  9. 关于基因差异化的那些事 edger Deseq2和limma的使用及一些总结
  10. mysql存储业务日志_MySQL 日志管理