一. 什么是变量与变量分类
Bash 中默认类型为字符串型
用户自定义变量:
变量自定义的
环境变量:
保存的是和系统操作环境相关的数据,可以自定义,但是对于系统生效的环境变量名是固定的
位置参数变量:
这种变量主要是用来向脚本当中传递参数或数据的,变量名不能自定义,变量作用是固定的
预定义变量:
是Bash中已经定义好的变量,变量名不能自定义,变量作用也是固定的。
二. 用户自定义变量
1.变量定义
变量名 = 变量值 # 等于号两边不能加空格
eg
x=5
name=“Lotus”
2. 变量调用 #使用 $+变量名
echo $变量名
eg
echo name3.变量叠加x=123x="x"456
x=${x}789
4.变量查看
set #查看所有变量
set -u #
4.变量删除
unset 变量名
三.环境变量
1.设置环境变量
export 变量名=变量值
或 变量名=变量值 export 变量名
2. 查看环境变量
env
3. 常用环境变量
HOSTNAME:主机名
SHELL:当前的Shell
TERM:终端环境
HISTSIZE:历史变量参数
SSH_CLIENT:当前操作环境是用SSH连接的,这里记录客户端ip
SSH_TTY:ssh连接的终端时pts/1
USER:当前登录的用户
PATH:系统搜索命令路径
echo KaTeX parse error: Expected 'EOF', got '#' at position 10: PATH #̲查看 PATH="PATH":/root/sh #添加,临时生效,永久生效必须写入文件
PS1:命令提示符设置
-\d:显示日期,格式为"星期 月 日"
-\H:显示完整的主机名,如默认主机名 “localhost”
-\t:显示24小时制时间,格式"HH :MM :SS"
-\A:显示24小时制时间,格式"HH:MM"
-\u:显示当前用户名
-\w:显示当前所在目录的完整名称
-\W:显示当前所在目录的最后一个目录
-$:提示符,root会显示“#”, 普通用户显示“$”
locale #c查询当前系统语系
-LANG:定义系统主语系的变量
-LC_ALL:定义整体语系的变量
/etc/sysconfig/i18n #LANG 所在文件
四.位置参数变量
- 位置参数变量
$n:n为数字,$0代表命令本身,$1——$9代表第一到第九个参数,十以上需要用大括号包含
$*:代表命令行中所有参数,将所有参数看做一个整体
$@:也代表命令行中所有参数,但是将每个参数区分对待
$#:代表命令行中所有参数的个数
五.预定义变量
$?:最后一次执行的命令的返回状态,如果为0表示上一个命令执行正确
$$:当前进程的进程号PID
$!:后台运行的最后一个进程号PID
read [选项] [变量名]
选项:
-p 提示等待read输入时,输出提示信息
-t 使用此选项可以指定等待秒数
-n 只接受指定的字符个数
-s 隐藏输入的数据