变量
默认是字符串型,数值型需要显示指定
等号两侧都不能有空格
单引号:原始字符串 双引号:保留转义
命令结果作为值:反引号 或 $()
环境变量一般用大写
自定义变量
变量定义 name="xx oo"
变量叠加 aa=123 aa="$aa"456 aa=${aa}789
变量调用 echo $aa
变量查看 set
变量删除 unset aa
环境变量
用户自定义变量 -- 只在当前Shell中生效
环境变量 -- 当前Shell和所有子Shell中都生效,
如果写入配置文件,则会在所有Shell中都生效
设置环境变量
声明
export name=sqd
sex=male export sex
查询 env
删除 unset
PATH -- 系统查找命令的路径
添加路径 PATH="$PATH":/root/
PS1 -- 定义系统提示符的变量
默认 PS1='[\u@\h \W]\$ '
修改 PS1='[\u@\t \w]\$ '
位置参数变量
变量名和作用都是固定的,只能传入不同的值
预定义变量
接收键盘输入
read [选项] 变量名
-p "提示信息"
-t 秒数
-n 字符数
-s 隐藏
数值运算与运算符
declare声明变量类型
declare [+-] [选项] 变量名
-: 设定类型属性
+:取消类型属性
-i:integer
-x:环境变量
-p:显示指定被声明的类型
数值运算
方法一:
declare -i c=$a+$b
方法二:
d=$(expr $a + $b) #加号两侧有空格
√方法三:
$((运算式)) 或 $[运算式]
运算符
变量测试与内容替换
通过x的值,测试y的情况
环境变量配置文件
source命令 -- 使配置文件直接生效
source 配置文件 或 . 配置文件
系统中环境变量配置文件的位置
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
/etc/bashrc
其他环境变量配置文件
注销时生效的:~/.bash_logout
历史命令:~/.bash_histoty
Shell登录信息:
本地终端登录信息:/etc/issue
远程终端登录信息:/etc/issue.net
不能使用转义符,只能显示纯文本
是否显示信息,由ssh的配置文件/etc/ssh/sshd_config决定
加入"Banner /etc/issue.net"才能生效(重启sshd)
登录后显示信息:/etc/motd
本地和远程都能显示