学习
实践
活动
专区
工具
TVP
写文章

bash变量-预定义变量与接收键盘输入

位置参数变量属于预定义变量的当中一种,只是位置参数变量内容较多,所以把它单独拿出来。

预定义变量是系统预先规定好的,变量名与变量作用不能更改,我们能做的,就是往里面传入不同的值。

一、预定义变量

$?:比如键入一个不认识的命令,然后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是可选的。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191208A0FAO000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

关注

腾讯云开发者公众号
10元无门槛代金券
洞察腾讯核心技术
剖析业界实践案例
腾讯云开发者公众号二维码

扫码关注腾讯云开发者

领取腾讯云代金券