您的位置:首页 > 运维架构 > Shell

Ubuntu学习 变量 (4)

2016-08-22 20:10 155 查看
shell程序中变量可分为3种

局部变量

环境变量

位置变量

shell语言是一种解释型语言

C、java是一种编译型语言

C、java使用变量之前必须提前定义变量,并且指明变量类型

shell无需事先声明,赋值的时候就完成了变量的定义。

局部变量

指的是只在当前的进程和程序中有效的变量

shell程序的变量是无数据类型的,可以使用同一个变量存放不同数据类型的值。

变量赋值之后只需要在变量前加一个$符号即可访问变量的值。

可以用等号=给变量赋值。

变量的值如果是不带空格的字符串,则可以不加引号。

变量输出使用echo命令。

eg:

#!/bin/bash
#bianliang.sh
a=123
b=1.23
c=xyz
d=efgh xyz
e='efgh xyz'
echo $a
echo $b
echo $c
echo $d
echo $e


环境变量

环境变量是在一个用户所有进程中都可以访问的变量。如PATH环境变量。

export可以查看系统环境变量表。

环境变量访问和shell一样需要加$符合。

使用export定义环境变量,环境变量名均为大写。

eg:

export XX=1234
echo $XX


系统环境配置文件

在文件/etc/profile中定义

如在profile下加入两行

export A1=hello
export A2=12345


则会在系统重启后重新加载。

位置变量

是shell程序在运行时传入的参数。程序中可以用变量的形势来调用这些参数。

这些参数被存放在1到9的0个特殊变量名中,被形象的成为位置变量。表示为$5

shell的运算符

shell运算符可以实现变量赋值、算术运算、测试、比较等功能。

eg:

STR=123
echo $STR


eg:用shell脚本进行数学运算

#!/bin/bash
#4.3.sh
s=0
t=`expr $1**$2`
t=$[t*3]
s=$[s+t]
t=$[$1**2]
t=$[t*4]
s=$[s+t]
t=`expr $2*5`
s=$[s+t]
s=$[s+6]
echo $s


实际运行的时候需要给变量赋值

eg:

./4.sh 2 3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ubuntu shell