- 变量
1.1 定义
1.2 变量存在的意义 - 变量的定义export
2.1 环境级别(仅在当前环境下生效)
2.2 用户级别(仅在当前用户下生效)
2.3 系统级别
2.4 变量名称 - 变量的转译
3.1 转译
3.2 声明{}
3.3 变量的数组 - 命令别名设定alias
4.1 临时设定
4.2 用户级别
4.3 系统级别 - 用户环境变量的更改
5.1 用户级别
5.2 系统级别 - 利用命令的执行结果设定变量
6.1 直接利用命令执行结果
6.2 脚本中的传参 - 脚本函数
变量
变量的定义
变量就是内存一片区域的地址
变量存在的意义:命令无法操作一直变化的目标;用一串固定的字符来表示不固定的目标可以解决此问题。
shell脚本中变量的定义方法
1、环境级别(仅在当前环境下生效)
export a=1
在环境关闭后变量失效
2、用户级别(仅在当前用户下生效)
vim ~/.bash_profile
export a=2
3.系统级别
vim /etc/profile
export a=2
vim /etc/profile.d/westos.sh
export b=3
4、变量名称
"字符" "_" "数字"
#注意事项:
#不能用数字开头
#建议:
#变量名称短全用大写字符变量名称长用_区分子类
变量的转译
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[@] }
输出数组所有字符的*和@的区别
a=(1 2 3)
a[*] = “1 2 3” ##相当于一串
a[@] = “1” “2” “3” ##相当于多串
a=$(date)
a=($(date)) #a为数组
4、Linux中命令的别名设定
alias xie='vim' #临时设定
vim ~/.bashrc
alias xie='vim' #只针对与用户生效
vim /etc/bashrc #针对系统所在用户生效
alias xie='vim'
unalias xie #删除当前环境中的alias
5、用户环境变量的更改
环境变量:
用户在操作系统时使用到的命令搜索路径。
设定方式:
~/.bash_profile
export PATH=$PATH:/mnt
/etc/bash_profile
export PATH=$PATH:/mnt
6、利用命令的执行结果设定变量
直接利用命令执行结果
$()|'' #优先执行
$() # 优先执行,shell中
`` # 优先执行,所有均可
TEST='hostname' TEST=$(hostname)
脚本中的传参
非交互模式:
$0 is /mnt/test.sh #脚本本身
$1 is westos #脚本后所输入的第一串字符
$2 is linux
$3 is redhat
$* is westos linux redhat #脚本后所输入的所有字符"westos linux redhat"
$@ is westos linux redhat #脚本后所输入的所有字符'westos' 'linux' 'redhat'
$# is 3 #脚本后所输入的字符串个数
交互模式传参:
read WESTOS #对westos赋值