shell脚本中的变量
变量的定义
-
定义本身
变量就是内存一片区域的地址 -
变量存在的意义
命令无法操作一直变化的目标
用一串固定的字符来表示不固定的目标可以解决此问题
shell脚本中变量的定义方法
-
环境级别
export a=1
在环境关闭后变量失效 -
用户级别
vim ~/.bash_profile
export a=1 -
系统级别
-
vim /etc/profile
export a=2 -
vim /etc/profile.d/westos.sh
export b=3env
查看当前系统的变量
- 变量名称
“字符” “_” “数字”
不能用数字开头
一般用:
变量名称短全用大写字符
变量名称长用_区分子类
例如:WESTOS
Westos_Linux
westoS_Linux
变量的转译
-
转译
\ #转译单个字符
“” #弱引用,批量转译个数字符 不能转译"" “`” “$” “!”
‘’ #强引用 -
声明
a=1
echo $ab
echo ${a}b -
变量的数组
a=(1 2 3 4 5)
echo ${a[0]} | 输出数组的第一个 |
---|---|
echo ${a[-1]} | 输出数组的最后一个 |
echo ${a[*]} | 输出数组的全部内容,整体输出 |
echo ${a[@]} | 输出数组的所有内容,单个输出 |
echo ${a[@]:2:3} | 输出数组的第3个数后的三个数(包括本身在内) |
echo ${#a[@]} | 输出该数组一共用多少个内容 |
Linux中命令的别名设定
-
alias xie=‘vim’ ##临时设定
-
vim ~/.bashrc
alias xie=‘vim’ ##只针对与用户生效 -
vim /etc/bashrc
##针对系统所以用户生效
alias xie=‘vim’
文件的修改需要source /etc/bashrc
使文件生效 -
如果要删除系统的别名不仅要删除文件中更改的内容,还要执行下面的命令
unalias xie
##删除当前环境中的alias
用户环境变量的更改
-
环境变量:
用户在操作系统时使用到的命令搜索路径 -
设定方式:
-
~/.bash_profile
export PATH=$PATH:/mnt -
/etc/bash_profile
export PATH=$PATH:/mnt
利用命令的执行结果设定变量
- 直接利用命令执行结果
$( ) | ` ` ##优先执行 - 脚本中的传参
-
非交互模式
$0 脚本本身 $1 脚本后所输入的第一串字符(空格为分割符) $* 脚本后所有的字符 [email protected] 脚本后所有的字符 $# 脚本后所输入的字符串个数 -
交互模式传参
read WESTOS | 对westos赋值 |
---|---|
read -p “please input word:” | 输出提示语 |
-s | 隐藏输入内容 |
脚本函数
定义:
程序的别名
- 设定方式:
WORD()
{
action1
action2
}
WORD 在脚本中就代表action1 action2这两个动作