linux shell 等待输入_shell中获得用户的输入

cca4dd90297ecc8ab6fd17f673586ee4.png

有时我们需要shell脚本有更多的交互性,比如我们安装某个linux命令的时候,会提示[N / Y]选择安装或者放弃,这时就需要用到shell的read命令。

read命令的基本使用

演示代码如下:

282627b6b782d6513dba6641a21a7a14.png

其中-n表示字符串输出尾端不换行

还可以直接在read -p 后面直接跟要显示的字符串

注意,一定要带-p,这样才允许在后面直接跟要显示的字符串,否则会报错

演示代码如下:

3ea72cc3ab908e21c4f80986064c8ab3.png

当传入的参数有多个的时候

演示代码如下:

1fc0429ae46e8949b98d1c477f52da66.png

如果在read命令行中不指定变量,那么read命令会把任何数据都放到特殊环境变量$REPLY中

演示代码如下:

08f554db1bcb2303a360e876c2d2cde8.png

使用read命令,如果用户迟迟不输入变量,不可能一直等待,所以需要超时设置,-t选项指定了read命令等待输入的秒数。当计时器过期后,read命令会返回一个非零退出状态码。

演示代码如下:

efe5d2ecf725e189b997a423568e211f.png

在最上面提到,我们安装linux命令的时候,有时候需要[N/Y]确认是否安装,这是如何实现的呢?

可以通过case命令来实现

演示代码如下:

884cd736a0783d92911e6498f9c4e733.png

有时候屏幕上输入参数,但是不想显示出输入的参数,使用-s参数可以做到隐藏方式读取

演示代码如下:

f549cd0577a9e695351ccf5d5574b3d6.png

read命令还可以读取文件中的字符串

演示代码如下:

29a2941ffa52180e4fe65def950546d0.png

首先通过cat读取file2文件,然后将读取到的内容通管道传给含有read命令的while命令,while循环会持续通过read命令读取文件中的行,直到read命令以非零状态退出。

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值