天天看点

Linuxshell编程之变量

Linuxshell编程之变量

shell是简化管理操作

1.Bash变量:

变量命名规则
1.开头为字符或下划线,名字中间中能有字母、数字和下划线组成;
2.变量的长度不超过255个字符;
3.变量名在有效的范围内必须是唯一的;
4.在Bash中,变量的默认类型都是字符串型.
           
shell中默认变量存储类型都是字符串型
           
shell变量分三大类:用户自定义变量,环境变量,预定义变量
           

用户自定义变量:

变量定义: 例如: x=5 name="linux_user" 等号两边不能有空格 变量调用: echo $变量名 //在变量名前加¥

Linuxshell编程之变量

变量叠加:

Linuxshell编程之变量

变量查看: set  查询系统所有变量  

选项:
 -u:如果设定此选项,调用未声明变量时会报错(默认无任何提示)
           
Linuxshell编程之变量
Linuxshell编程之变量

  删除变量 unset  变量名

Linuxshell编程之变量

bash环境变量

环境变量
环境变量与用户自定义变量的区别?(环境变量时全局变量,用户自定义变量时局部变量)
用户自定义变量只在当前的Shell中生效
环境变量在当前Shell和这个Shell的所有子Shell中生效
           
Linuxshell编程之变量
Linuxshell编程之变量

  设置环境变量: export   变量名=变量 env  查看环境变量  

Linuxshell编程之变量

  PATH变量:系统查找命令的路径 echo  $PATH查看PATH环境变量 增加PATH的值    PATH="$PATH":目录     语系变量: locale查询当前系统语系

Linuxshell编程之变量

  LANG是当前生效的语系 locale  -a  查看linux所有语系   系统默认语系: /etc/sysconfig/i18n    

Linux中文支持
1,图形界面
2,远程工具
3,纯字符界面不支持中文,可以使用插件(zhcon);
           

位置参数变量:

n  n为数字,$0代表命令本身,$1-$9代表第一道第九个参数,十以上的参数需要用大括号包含,如${10}
$*  这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体
[email protected]  这个变量也代表命令行中所有的参数,不过[email protected]把每个参数区分对待
$#  这个变量代表命令行中所有参数的个数
           

预定义变量:

$?  最后一次执行的命令的返回状态。如果这个值为0,证明上一个命令正确执行,如果这个变量的值为非0,则证明上一个命令执行不正确了
$$   当前进程的进程号(PID)
$!  后台运行的最后一个进程的进程号
           
接收键盘输入

read [选项][变量名]
-选项
-p "提示信息" :在等待read输入时,输出提示信息
-t 秒数:read命令会一直等待用户输入,指定等待时间
-n 字符数:read命令只接受指定的字符数
-s:隐藏输入的数据,适用于机密信息的输入
           
Linuxshell编程之变量

shell   运算符:

declare 申明变量类型  

declare [+/-][选项]  变量名
-: 给变量设定类型属性
+:取消变量的类型属性
           
-a:将变量声明为数组型
-i:将变量声明为整数型(integer)
-x:将变量声明为环境变量                         //和export 相同   export  调用 declare  -x
           
-r:将变量声明为只读变量
           
-p:显示指定变量的被声明的类型
           
Linuxshell编程之变量
Linuxshell编程之变量
数值运算
方法1:declare -i dd =$aa+$bb
方法2: dd=$(expr $aa + $bb)
  #dd的值是aa和bb的和,注意“+”左右必须有空格
方法3: dd=$(($aa+$bb))或dd= $[$aa+$bb]
           

继续阅读