标签:shell脚本 环境变量 自定义变量 位置变量 预定义变量
Shell变量用来存放系统和用户需要使用的特定参数(值),而且这些参数可以根据用户的设定或系统环境的变化而相应的变化。
【变量的作用】
为灵活管理Linux系统提供特定参数,而有两层意思:
1.变量名:使用固定的名称,由系统预设或用户自定义
2.变量值:能够根据用户设置,系统环境的变化而变化
【变量的类型】
1.自定义变量:由用户自己定义,修改和使用
2.环境变量:由系统维护,用于设置工作环境
3.位置变量:通过命令行给脚本程序传递参数
4.预定义变量:Bash中内置一类变量,不能直接修改
【自定义变量】
格式:变量名=变量值
变量名以字母或下划线开头,区分大小写,建议全大写
(一)定义新的变量
(二)查看和引用变量的值
格式:echo $变量值
当变量名称容易紧跟其后的其他字符相混淆时,需要添加大括号{ }将其括起来,否则将无法确定正确的变量名称。
(三)变量赋值的特殊操作
1. 双引号("):允许通过$符号引用其他变量值,例如:
2. 单引号(‘):禁止引用其他变量值,$视为普通字符,例如:
3. 反撇号(`)命令替换,提取命令执行后的输出结果,例如:
$()的作用:可以代替反撇号,解决嵌套问题,因为反撇号不能实现嵌套,例如:查询提供useradd命令程序的软件包所安装的配置文件位置
4. read命令:用来提示用户输入信息
(四)设置变量的作用范围
新定义的变量只在当前shell有效,如果想进入新的shell环境同样有效,就需要使用export命令将变量导出为“全局变量”
可以同时指定多个变量名称作为参数(不需要用$符号),变量名之间以空格分割
使用export导出全局变量的同时,也可以为变量进行赋值,例如:
(五)数值变量的运算
格式:expr 变量1 运算符 变量2 [运算符 变量3] ...
+:加法运算
-:减法运算
\*:乘法运算,注意不能只使用“*”符号,否则将被当成文件通配符
/:除法运算
%:求模运算,又称为取余运算,用来计算数值相除后的余数
若要将运算结果赋值给其他变量,可以结合命令替换操作(使用反撇号)
【特殊的Shell变量】
1. 环境变量
环境变量指的是出于运行需要而由Linux系统提前创建的一类变量,主要用于设置用户的工作环境,包括用户宿主目录,命令查找路径,用户当前目录,登录终端等。
PHTH变量用于设置可执行程序的默认搜索路径,例如:
2. 位置变量
位置变量也成为位置参数,使用$1,$2,$3,...,$9表示。例如:
编写一个adder2num.sh的小脚本,用来运算两个整数的和
需要计算的两个整数在执行脚本时以位置变量的形式提供
3. 预定义变量
预定义变量,系统安装好之后就有,不能创建,只能使用,例如:$#表示命令行中位置参数的个数,$*表示所有位置参数的内容,$?表示前一条命令执行后的返回状态,返回0表示正确。$0表示当前执行的脚本或程序的名称。
本文出自 “乌云科技” 博客,请务必保留此出处http://wuyunkeji.blog.51cto.com/12028005/1866423
标签:shell脚本 环境变量 自定义变量 位置变量 预定义变量
原文地址:http://wuyunkeji.blog.51cto.com/12028005/1866423