1、变量的定义
定义本身:
变量就是内存一片区域的地址
变量存在的意义
命令无法操作一直变化的目标,用一串固定的字符表示不固定的目标可以解决此问题
2、shell脚本中变量的定义方法
环境级别:
export a=1
在环境关闭后失效
用户级别
vim ~/.bash_profile
export a=1
系统级别
vim /etc/profile.d/westos.sh
export A=1
添加环境变量,并且给文件可执行权限,此时文件可直接执行
3、变量的名称
变量名称可包含的字符
字母
下划线
数字
变量名称定义规则
不能使用数字开头
建议:
变量名称短全用大写字符
变量名称长用_区分子类
WESTOS
Westos_Linux
westoS_Linux
4、变量的转译
1)转译
\ #转译单个字符
“”#弱引用,批量转译个数字符 不能转译“\" “’” “$” “!”
‘’ #强引用
2)声明
a=1
echo $ab
echo ${a}b
3)变量的数组
a=(1 2 3 4)
a$[a[@]:起始元素id:元素个数】
echo ${a[0]} #数组中的第一个元素
echo ${a[-1]} #数组中的倒数第一个元素
echo ${a[*]} #数组中所有的元素
echo ${a[@]} #数组中所有的元素
echo ${A[@]:1:3} #数组中1-3个元素
echo ${#A[@]} #数组中元素的个数
create_user.sh userfile
userfile中的用户会被全部建立
5、linux中命令的别名设定
alias xie=‘vim’ #在当前shell中定义xie为vim,临时,关闭当前shell再次打开就没有了
unalias xie #如果不便关闭当前shell,此命令可删除这种临时设定
vim ~/.bashrc #只针对当前用户,永久
vim /etc/bashrc #总配置文件,针对所有用户,永久
6、用户环境变量的更改
环境变量:
用户在操作系统时使用到的命令搜索路径
设定方式:
~/.bash_profile
export PATH=$PATH:/mnt
/etc/bash_profile
export PATH=$PATH:/mnt
7、利用命令的执行结果设定变量
1)直接利用命令执行结果
$()或者’’ #优先执行
date +%H:%M:%S
time=$(date +%H:%M:%S)
echo $time
time=‘date +%H:%M:%S’
echo $time
反向单引号,所有都适用
$和括号,只能在shell中使用
2)脚本中的传参
非交互模式
echo ‘$0’ is $0 #脚本本身
echo ‘$1’ is $1 #脚本后所输入的第一串字符
echo ‘$2’ is $2
echo ‘$3’ is $3
echo ‘$#’ is $# #脚本后所输入字符串个数
echo '$’ is $ #脚本后输入的所有字符
echo ‘$@’ is $@ #脚本后输入的所有字符
* 代表的是一串字符串 “linux redhat westos"
@ 代表的是三串字符串 “linux” “redhat” “westos”
交互模式传参:
read WESTOS #对westos赋值
read -p "Please input word: " WORD #输出提示语
echo $WORD
-s #隐藏输入内容
read -p "Please input word: " -s WORD