200 ? "200px" : this.width)!important;}
-->

介绍

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

环境:centos 6.7

赋值

给变量赋值:

var=value

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

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

输出变量:

echo $value
或
echo ${value}

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

vim assign

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

运算

[]、(())

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

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

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

let

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

方法1:简单算术运算

var1=
var2=
let result=var1+var2

方法2:自加

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

方法3:简写

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

脚本

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

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

高级运算bc

支持小数运算

语法

echo "  " | bc

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

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

 

总结

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

备注:

作者:pursuer.chen

博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》

Linux Shell变量的更多相关文章

  1. Linux shell 变量 数学 运算

    Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 ...

  2. python文件读写操作与linux shell变量命令交互执行

    python对文件的读写还是挺方便的,与linux shell的交互变量需要转换一下才能用,这比较头疼! #coding=utf-8 #!/usr/bin/python import os impor ...

  3. Linux shell变量详解

    Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个 ...

  4. Linux Shell 变量自加

    转至:https://blog.csdn.net/dj0379/article/details/50946398/ declare -i iv=$svnvlet iv+=1shell中变量自增的实现方 ...

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

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

  6. linux shell变量$#,$@,$0,$1,$2的含义解释

    变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览  ...

  7. Linux - Shell变量的配置守则

    变量的配置守则 变量与变量内容以一个等号『=』来连结,如下所示: 『myname=VBird』 等号两边不能直接接空格符,如下所示为错误: 『myname = VBird』或『myname=VBird ...

  8. linux shell 变量子串

    linx变量子串 在本例子中,变量 test=https://www.//cnblogs./com//jjmaokk/p/10135401.html 1,${#parameter} 返回变量$para ...

  9. linux shell变量的截取

    变量的截断,经常用到的是${},##和%%几个特殊符号.假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt ,可以用${ }分别替换得到不同的值: ${file ...

随机推荐

  1. Sql Server 行转列

    --摘自百度 PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (… ...

  2. freeCodeCamp:Slasher Flick

    返回一个数组被截断n个元素后还剩余的元素,截断从索引0开始. /*思路 利用splice截断数组arr,返回运算后的数组arr; 如果howMany大于或等于数组长度,则返回空数组: */ funct ...

  3. linux搞大头,bang bang bang

    偶遇网站打不开,人懵逼了,然后各种查询资料,查到可能跟服务器的问题有关,于是乎连接linux服务器,开始一段苦逼旅程. 其实主要是一些简单的linux命令,对我这个没怎么接触linux的小白来说,何等 ...

  4. (python) 标准模块sys和os的使用

    一.sys模块 包含了系统的相关的功能.我们来学习sys.argv,它包含命令行参数. 例子:定义了一个add函数,用来实现两个整数的相加. #! coding=utf-8 # usersys.py ...

  5. luogu p1268 树的重量——构造,真正考验编程能力

    题目链接:http://www.luogu.org/problem/show?pid=1268#sub -------- 这道题费了我不少心思= =其实思路和标称毫无差别,但是由于不习惯ACM风格的题 ...

  6. SVN服务器的配置(简单易懂,带配置文件,有注释)

    这两天在服务器搭建了一个SVN服务器,一些经验,也留作后用把,有不详细的欢迎批评指正 另外关于子目录的访问配置,这块我还是不懂,希望有前辈能教我一下 1.安装SVN Serveryum install ...

  7. Linux下连接MSSQL之安装FreeTDS

    $ tsql -H MSSQL服务器服务IP -p 1433 -U MSSQL服务器登陆帐号 -P MSSQL服务器登陆密码http://www.cnblogs.com/ilovexiao/p/355 ...

  8. 【洛谷P3076】Taxi

    这道题值得好好想一会 我们通过对一些小数据的手算,以及对于每段路程的拆分,可以发现: 1.每个st对应的ed这段路程无论如何都要算上 2.额外还要计算的一段路程,就是"切换"费用 ...

  9. ReStart

    ACM开始了?……重新启用Blog~

  10. python3下安装Django

    1.下载python3 https://www.Python.org/ 我下载的是Python3.5.1 选的 Windows x86-64 executable installer 2. 打开cmd ...