Ubuntu学习 变量 (4)

来源:互联网 发布:网络上翻车什么意思 编辑:程序博客网 时间:2024/05/21 20:30

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.shs=0t=`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
0 0