xml地图|网站地图|网站标签 [设为首页] [加入收藏]

热门直播

当前位置:美高梅游戏网站 > 热门直播 > [Linux]Shell变量

[Linux]Shell变量

来源:http://www.gd-chuangmei.com 作者:美高梅游戏网站 时间:2019-09-05 04:10

Shell变量分为环境变量和自定义变量,这两则的差异在于该变量能否被子进程使用,看下面的一个示意图:

Linux Shell变量,linuxshell变量

图片 1

介绍

变量是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"

图片 2

 

运算

[]、(())

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

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

 图片 3

 

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

let

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

方法1:简单算术运算

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

方法2:自加

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

方法3:简写

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

脚本

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

图片 4

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

 

高级运算bc

支持小数运算

语法

echo "  " | bc

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

result=`echo " " | bc `

#!/bin/bash
echo "0.5*10" | bc

var=5
result=`echo "$var*0.5" | bc`
echo $result

图片 5

如果是环境变量,子进程中还可以继续使用,但如果是自定义的变量,子进程里将失效。

总结

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

 

 

 

 

备注:

    作者:pursuer.chen

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

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

《欢迎交流讨论》

Shell变量,linuxshell变量 介绍 变量是shell脚本中必不可少的组成部分,在脚本中使用变量不需要提前声明。在bash中每一个变量都是字符...

用env查看环境变量

常见的环境变量如下: 1)HOME:用户的主目录(cd ~) 2)SHELL:用户的默认shell 3)HISTSIZE:历史记录条数 4)MAIL:邮件信箱文件 5)PATH:执行文件查找路径 6)LANG:语系

用set查看环境变量和自定义变量

比较重要的自定义变量有: 1)PS1:提示符设置 2)$:本shell的PID 3)?:上个执行命令的返回码

本文由美高梅游戏网站发布于热门直播,转载请注明出处:[Linux]Shell变量

关键词:

上一篇:linux下RAR的安装和使用

下一篇:没有了