位置参数变量属于预定义变量的当中一种,只是位置参数变量内容较多,所以把它单独拿出来。
预定义变量是系统预先规定好的,变量名与变量作用不能更改,我们能做的,就是往里面传入不同的值。
一、预定义变量
$?:比如键入一个不认识的命令,然后echo $? 则会返回变量的值,如下:
命令后跟不存在的文件名,如下:
命令打错与文件名不存在等执行后的结果我能人为判断,为什么需要$?呢?
因为计算机不认识这些,判断最后一条命令正确执行只能依赖$?
$$:每一个计算机进程或者说程序,只要执行都会产生一个或者多个进程。PID就是对应进程的ID号,计算机是通过ID号来判断到底是运行的哪一个进程。如下图,执行脚本后的脚本进程PID为8234
$!:后台运行的最后一个进程的进程号。在Linux中,执行的脚本或者命令需要放入后台(类似windows的最小化,要使脚本的命令后台运行可使用&)。如果你真的需要查看完整的进程,可使用top命令。
二、接收键盘输入命令read
用法:read [选项] [变量名]
选项:
-p "提示信息" # 等待read输入时,输出提示信息。
-t 秒数 # read命令会一直等待用户输入,使用此选项可以指定等待的时间
-n 字符数 # read命令只接受指定的字符数,就会执行
-s # 隐藏输入的数据
示例1:
示例2:
只要用到read命令,-p与-t选项是必选的,-n与-s是可选的。
领取专属 10元无门槛券
私享最新 技术干货