目录
1.变量的定义
-
定义本身
变量就是内存一片区域的地址 -
变量存在的意义
命令无法操作一直变化的目标
用一串固定的字符来表示不固定的目标可以解决此问题
2.shell脚本中变量的定义方法
1 环境级别
- export a=1
在环境关闭后变量失效
2 用户级别
- vim ~/.bash_profile
export a=1
3 系统级别
-
vim /etc/profile
export a=2 -
vim /etc/profile.d/westos.sh
export d=4
4 变量名称
- "字符" “_” “数字”
不能用数字开头 - 变量名称短全用大写字符
变量名称长用_区分子类 - 例:
WESTOS
Westos_Linux
westoS_Linux
3.变量的转译
1 转译
\ | 转译单个字符 |
---|---|
“” | 弱引用,批量转译个数字符 不能转译"" “`” “$” “!” |
‘’ | 强引用 |
2 声明
a=1
echo $ab
echo ${a}b
3 变量的数组
a=(1 2 3 4 5)
echo ${a[0]}
echo ${a[-1]}
echo ${a[*]}
echo ${a[@]}
- @与*的区别
4.Linux中命令的别名设定
alias xie=‘vim’ ##临时设定
- 只针对此用户生效
alias xie=‘vim’
vim ~/.bashrc - 针对系统所有用户生效
vim /etc/bashrc 针对系统所以用户生效
alias xie=‘vim’
- 删除当前环境中的alias
unalias xie
5.用户环境变量的更改
-
环境变量:
用户在操作系统时使用到的命令搜索路径
-
设定方式:
vim ~/.bash_profile
-
vim /etc/bash_profile
6.利用命令的执行结果设定变量
1 直接利用命令执行结果
- 优先执行
$() 或 ``
TEST=`hostname`
TEST=$(hostname)
2 脚本中的传参
- 非交互模式:
- 交互模式传参:
7.脚本函数
-
定义:
程序的别名 -
设定方式:
练习
create_user.sh userfile passfile
userfile用的用户会被全部建立
passfile中的密码会被全部设定