1.什么是变量
变量就是内存中一片区域的地址,使用变量名称时会自动按照变量所指引的地址寻找对应区域里的数据,并呈现出来
意义
用固定的字符来表示不固定的值
命令无法操作一直变化的目标
用一串固定的字符来表示不固定的目标可以解决此问题
2.变量的类型及命名规范
shell脚本中变量的定义方法:
环境级别
export A=1
在环境关闭后变量失效
用户级别
vim ~/.bash_profile
export A=1
source ~/.bash_profile
对root用户永久生效
系统级别
vim /etc/profile
export A=1
vim /etc/profile.d/A.SH
export A=1
变量名称可包含的字符
字母
下划线_
数字
不能以数字开头
建议:
变量名称短全用大写字符
变量名称长用_区分子类
WESTOS
Westos_LINUX
westoS_Linux
3.变量的转译声明和数组
1)转译
\ #转译单个字符
"" #弱引用,批量转移个数字符 不能转译"$" " " "\" "!"
'' #强引用
2)声明
a=1
echo $ab
echo ${a}b
声明a是变量
3)变量的数组
a=(1 2 3 4 5)
a$[a[@]:起始元素id:元素个数]
echo ${a[0]} ##数组中第一个元素
echo ${a[1]} ##数组中最后一个元素
echo ${a[*]} ##数组中所有元素
echo ${a[@]} ##数组中所有元素
echo ${a[@]:0:3} ##数组中前三个元素
echo ${#a[@]} ##数组中元素的个数
unset a[n] ##删除数组中的第n1个元素
unset a ##删除a这个数组
4.命令别名
alias
临时设定:
alias xie='vim'
只针对用户生效:
vim ~/.bash_profile
alias xie='vim'
针对系统所有用户生效:
vim /etc/bashrc
alias xie='vim'
删除当前环境中的alias:
unalias xie
5. 用户环境变量的设定
设定方式:
vim ~/.bash_profile
export PATH=$PATH:/mnt
source ~/.bash_profile
#针对单个用户
vim /etc/profile.d/path.sh
export PATH=$PATH:/mnt
source /etc/profile.d/path.sh
#针对所有用户
6.变量的高级用法
直接利用命令执行结果设定变量
$( ) ``
2)脚本中的传参
非交互模式:
vim /mnt/westos.sh
交互模式:
vim /mnt/westos1.sh
read 赋值
7.脚本函数
练习脚本:
需求: