一.变量的定义
变量即在程序运行过程中它的值是允许改变的量,变量是用一串固定的字符来标示不固定的值的一种方法,变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储 Script 运行时可更改的程序信息,在 shell 中变量是不能永久保存在系统中的,必须在文件中声明
二.在 shell 脚本中变量的种类
在 shell 中变量分为环境级变量,用户级变量,系统级变量。
环境级变量只在当前 shell 中生效, shell 关闭变量丢失;
用户级变量写在用户的骨文件中,只针对当前用户生效;
系统级变量被写在系统的配置文件 /etc/profile 或者 /etc/profile.d/ 中,对于所有用户都生效
三.shell 脚本中变量的定义方法
1.定义环境级变量
export A=1
2.定义用户级变量
vim .bash_profile
export A=1
source .bash_profile
source 命令是重新加载,并且这种写在文加里面的方法不受用户终端环境的影响,但是只对该用户有效
3.定义系统级变量
注意:用户级变量的优先级高于系统级,因为用户级的配置文件后读
vim /etc/profile
export A=1
source /etc/profile
注意:修改之后一定要source重新加载文件
env可以查看系统的全部变量
四.变量名称的规范
变量名称中通常包含大小写字字母,数字,下划线(不是必须),以字母开头
例如:a1 A3 aA等等
五.字符的转义及变量的声明
\ 转译单个字符
"" 弱引用,批量转义 “” 中出现的字符,
'' 强引用,批量转义 ” 中出现的字符
''与"" 两者的区别在于,"" 不能转义 "\","`","!","$"
${} 变量声明
六.变量值的传递
1脚本后的第一串字符串
2 脚本后的第二串字符串
3脚本后的第三串字符串
# 脚本后所跟字符串的个数
$* 脚本后跟的所有字符串,模式为“ 1 2 3 ”
@脚本后跟的所有字符串,模式为“1”“2”“3”和#的区别在后边是一串字符
$$ 当前进程的pid
2.用 read 实现变量传递
read 变量名
read -p "input: " -s 表量名 -p表示输入交互语言 -s表示对输入的交互字符加密
七.linux 系统中命令别名的设定
1.给命令vim临时设定别名bianji
alias bianji='vim'
2.给超级用户永久设定别名bianji
vim .bashrc
alias bianji='vim'
source .bashrc
3.给普通用户永久设定别名bianji
vim /etc/bashrc
alias bianji='vim' 给普通用户永久设定别名bianji
source /etc/bashrc
4.在取消别名的时候我们发现如果只是删除配置文件中设定的那一行,再source是不能取消的,我们必须用unalias命令
unalias bianji
八.退出值 $?
(1)?是命令在执行完成之后产生的退出值,范围是[0−255](1)当
0=0 时标示命令执行没有错误输出
(2)当 $0!=0时表示命令执行可能有错误输出,也可能使用exit+数字改变了退出值