Linux Shell变量
介绍变量是shell脚本中必不可少的组成部分,在脚本中使用变量不需要提前声明。在bash中每一个变量都是字符串,所以在变量赋值时候不管有没有使用引号都是以字符串的形式存储,但是如果值中存在特殊字符就需要用引号将值进行引用, 在bash中可以使用单引号或者双引号。
环境:centos 6.7
赋值
给变量赋值:
var=value
特别注意变量和值之间不要存在空格,否则会被认为是等值判断,比如
调用变量只需要在变量前加上$
输出变量:
echo $value
或
echo ${value}
例:写一个shell脚本输出今天的日期
vim assign
#!/bin/bashvar=`date +'%Y-%m-%d'`
echo "today is $var"
http://images2015.cnblogs.com/blog/135426/201604/135426-20160415135941957-793777724.png
运算
[]、(())
注意上面的两种是固定的写法,都是用来在shell中做算术运算,并且在这两个操作符前都需要使用$符合,在括号里面变量前可以使用$也可以不使用
http://common.cnblogs.com/images/copycode.gif
#!/bin/bashvar1=1var2=2result1=$
result2=$[$result1+1]
result3=$((result2+1))
result4=$(($result3+1))
echo $result1 $result2 $result3 $result4
http://common.cnblogs.com/images/copycode.gif
http://images2015.cnblogs.com/blog/135426/201604/135426-20160415172717848-1805332961.png
在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
脚本
http://common.cnblogs.com/images/copycode.gif
#!/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
http://common.cnblogs.com/images/copycode.gif
http://images2015.cnblogs.com/blog/135426/201604/135426-20160415143714957-1927260228.png
注意:上面只是测试了加法运算,对于其他的算术运算都支持,但是只支持整形,对于存在小数的运算不支持。
高级运算bc
支持小数运算
语法
echo "" | bc 如果要将bc运算出的结果作为变量可以这样
result=`echo " " | bc `#!/bin/bashecho "0.5*10" | bc
var=5result=`echo "$var*0.5" | bc`
echo $result
http://images2015.cnblogs.com/blog/135426/201604/135426-20160415174214238-1127472895.png
总结
赋值算法还是比较简单,后面慢慢完善
页:
[1]