变量
(一)Bash变量概述
1.1变量规则
- 在shell中所有变量的默认类型都是字符串。
- 变量都是用=赋值,左右两边不能有空格
- 在变量值中用""转义符
- 命令的结果可以赋值给变量,需要用反引号或$()包含命令
1.2 变量分类
- 用户自定义变量
- 环境变量:可以添加新的
- 位置参数变量:向脚本传递参数,变量名和作用是固定的
- 预定义变量:在Bash中定义好的,名字和作用都是固定的
(二)用户自定义变量
#变量定义
name="sou ten"
#变量叠加
aa=123
aa="$aa"455
aa=${aa}789
#变量调用
echo $aa
#变量查看
set (所有变量)
#删除变量
unset aa
(三)环境变量
1.1环境变量定义
用户自定义的变量只在当前的shell中生效。而环境变量在当前shell和子shell中生效,如果将其写入到配置文件,就会在所有shell中生效。
1.2设置环境变量
#申明变量为环境变量
export name
export name=22
#查询环境变量
env
1.3系统常见环境变量
- PATH 系统查找命令的路径
#将自定义命令路径加入到PATH中
#这样就不用绝对路径或相对路径就可以执行
#因为系统会自动去PATH中查找
PATH="$PATH":/root
- PS1 定义系统提示符
PS1='[\u@\@ \h \# \W]\$'
(四)位置参数变量
1.1 变量概述
1.2 使用
# hello.sh [参数1] [参数2]
# 调用
hello.sh 11 22 33
# hello.sh Bash脚本
!bin/bash/
echo $0 # hello.sh
echo $1 # 11
echo $2 # 22
echo $3 # 33
(五)预定义变量
1.1 预定义变量
echo $?
echo $$
echo $!
1.2 接受键盘输入
(六)数值运算和运算符
1.1 数值运算三种方式
我们知道变量的默认类型是字符串,如果要进行数值运算该怎么办?
1.1.1 使用declare
a=1
b=2
declare -i c=a+b
1.1.2使用expr或let运算工具
c=1
d=2
# + 左右必须有空格
e=$(expr $c + $d)
1.1.3 $ ((运算))或$ 运算
a=3
b=4
c=$(( $a+$b))