【Linux入门】十三、Shell基础5 -- Bash变量

十三、Shell基础5 -- Bash变量

1 用户自定义变量

什么是变量

变量是计算机内存的单元,其中存放的值可以改变。当Shell脚本需要保存一些信息时,如一个文件名或数字,就把它保存在一个变量中。每个变量都有一个名字,所以很容易引用它。使用变量可以保存有用信息,使系统获知用户相关设置,变量也可以用于保存暂时信息。

变量设置规则

变量名称可以由字母、数字和下划线组成,但是不能以数字开头。

在Bash中,变量的默认类型是字符串型,如果要进行数值运算,则必须指定变量类型为数值型。

变量用等号连接值,等号左右两侧不能有空格。

变量的值如果有空格,需要使用单引号或双引号包括。

在变量的值中,可以使用"\"转义符。

如果需要增加变量的值,可以进行变量值的叠加。不过变量需要使用双引号包含,即"$变量名"或${变量名}。

如果是要把命令的结果作为变量值赋予变量,则需要使用反引号或$()包含命令。

环境变量名建议大写,便于区分。

调用变量时需要在变量名前加$。

变量分类

1、用户自定义变量(本地变量)

2、环境变量:这种变量中主要保存的是和系统操作环境相关的数据,比如$PATH;

3、位置参数变量:主要是用于向脚本中传递参数或数据,变量名不能自定义,变量作用是固定的;

4、预定义变量:是Bash中已经定义好的变量,变量名不能自定义,变量作用是固定的;

本地变量

变量定义:

# name="ABC"

变量叠加:

# aa=123

# aa="$aa"456

查看变量(系统中所有变量):

# set

删除变量:

# unset 变量名

2 环境变量

环境变量是什么

用户自定义变量只在当前Shell中生效,而环境变量会在当前Shell和这个Shell的所有子Shell中生效。

如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的Shell中生效。

设置环境变量

# export 变量名=变量值

# 申明变量

# env

# 查询环境变量

# unset 变量名

# 删除变量

3 位置参数变量

位置参数变量 作用
$n n为数字,$0代表命令本身,$1-$9代表第1到第9个参数,10以上的参数需要用大括号包含,如${10}
$* 代表命令行中所有的参数(看成一个整体)
$@ 代表命令行中所有的参数(把每个参数区分对待)
$# 代表命令行中所有参数的个数

4 预定义变量

预定义变量 作用
$? 最后一次执行命令的返回状态,为0代表上一个命令正确执行;非0(具体是哪个数,由命令决定)代表上一个命令执行不正确
$$ 当前进程的进程号(PID)
$!

后台运行的最后一个进程的进程号

5 接收键盘输入

# read [选项] [变量名]

选项:

-p “提示信息”    在等待read输入时,会输出提示信息

-t 秒数               read命令会一直等待用户输入,直至超时

-n 字符数          只接收指定的字符数,就会执行下一条命令

-s                      隐藏输入的数据,适用于机密信息的输入

read -p

read -p -s

猜你喜欢

转载自blog.csdn.net/weixin_39723165/article/details/81287344