一、预定义变量
预定义变量 | 作用 |
---|---|
$? | 最后一次执行的命令的返回状态。如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确 了 |
$$ | 当前进程的进程号(PID) |
$! | 后台运行的最后一个进程的进程号(PID) |
例1.$?
$?为0,证明上一个命令正确执行;$?非0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确。实际上,前面讲到的逻辑与(前一条正确执行,后一条命令才执行)、逻辑或(前一条命令错误,后一条才执行)、管道,归根结底就是通过前一条命令的$?判断其是否正确,再来判断是否执行第二条命令。
例2.$$、$!(了解)
$$:当前进程的进程号(PID)
$!:后台运行的最后一个进程的进程号(PID)
二、接收键盘输入
格式:
[root@localhost~]# read [选项] [变量名]
选项:-p“提示信息”:在等待read输入时,输出提示信息
-t秒数:read命令会一直等待用户输入,使用此选项可以指定等待时间
-n字符数:read命令只接受指定的字符数,就会执行
-s:隐藏输入的数据,适用于机密信息的输入
例1:-p参数,允许在read命令行中直接指定一个提示。
例2:-t参数指定read命令等待输入的秒数,当计时满时,read命令返回一个非零退出状态。-n参数设置read命令计数输入的字符。当输入的字符数目达到预定数目时,自动退出,并将输入的数据赋值给变量。
例3.-s选项能够使read命令中输入的数据不显示在命令终端上(实际上,数据是显示的,只是read命令将文本颜色设置成与背景相同的颜色)。输入密码常用这个选项。
END