一、什么是变量
变量的定义
定义本身
变量就是内存一片区域的地址
变量存在的意义
命令无法操作一直变化的目标
用一串固定的字符来表示不固定的目标可以解决此问题
二、变量的类型及命名规范
环境级别
export A=1
在环境关闭后变量失效
退出后 关闭
用户级别(永久的设定变量)
vim ~/.bash_profile
export A=1
source ~/.bash_profile 生效
系统级别(所有的用户都可以读取到这个变量)
vim /etc/profile
export A=1
vim /etc/profile.d/A.sh
export B=3
此时用其他用户也可以生效
变量名称
变量名称可包含的字符
字母
下划线_
数字
变量名称定义规则
不能用数字开头
建议:
变量名称短全用大写字符
变量名称长用_区分子类
WESTOS
Westos_Linux
westoS_Linux
三、变量的转译声明及数组
1)转译
\ #转译单个字符
有多少个特殊字符就有多少个斜杠
" " #弱引用,批量转译个数字符 不能转译"\ " “” “$” “!”
’ ’ #强引用
2)声明
a=1
echo $ab
echo ${a}b
3)变量的数组
a=(1 2 3 4 5)
a$[a[@]:起始元素id:元素个数]
echo ${a[0]} ##数组中第一个元素
echo ${a[1]} ##数组中最后一个元素
echo ${a[*]} ##数组中所有元素
echo ${a[@]} ##数组中所有元素
echo ${a[@]:0:3} ##数组中13个元素
echo ${#a[@]} ##数组中元素的个数
unset a[n] ##删除数组中的第n1个元素
unset a ##删除a这个数组
四、命令别名及用户环境的设定
查看命令的别名
alias
永久设定命令别名
编辑配置文件
vim ~/.bashrc
source ~/.bashrc 使之生效
在这个文件内编辑的只是当前的用户可以使用
若使在全体用户中可以使用则
编辑系统级的配置文件
vim /etc/bashrc
source /etc/bashrc 使之生效
若要删除这个命令别名
需将系统级和用户级的配置文件中的命令别名删掉
并且执行
unalias xie 删除当前环境中的alias
用户环境变量的更改
用户级:编辑配置文件
vim ~/.bash_profile
系统级:编辑配置文件
vim /etc/profile.d/path.sh
五、变量的高级用法
1)直接利用命令执行结果
$()| ##优先执行
或者··
2)脚本中的传参
传参:将脚本外部的内容传递给脚本内部
非交互模式:
创建一个脚本
vim westos.sh
交互式
编辑一个脚本
vim westos1.sh
七、脚本函数
定义:
程序的别名(脚本当中的脚本就叫函数)
先编辑一个脚本
vim westos2.sh
ACTION 是一个函数
也就是脚本当中的脚本
相当于是给ACTION赋了一个值,而这个值是命令脚本
练习脚本
sh create_user.sh
Please input username: westos
westos exist> westos is exist>Please input username:
westos not existplease input password: 无回显密码
此用户会自动建立并且密码为提示后设定的密码
并显示:westos is created
并再次提示Please input username:
当Please input username:exit
此脚本退出