shell(九)读取控制台输入

简介: 在我们实际的编程中,一定会和用户有交互,那我们如何读取用户在控制台中输入的值呢?Shell为我们提供了一个命令:read对,你没看错,就是这么语义化,就是read。

在我们实际的编程中,一定会和用户有交互,那我们如何读取用户在控制台中输入的值呢?

Shell为我们提供了一个命令:read

对,你没看错,就是这么语义化,就是read。

他有一些参数:

-a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。

-p 后面跟提示信息,即在输入前打印提示信息。

-e 在输入的时候可以使用命令补全功能。

-n 后跟一个数字,定义输入文本的长度,很实用。

-r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了。

-s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。

-t 后面跟秒数,定义输入字符的等待时间。

测试一下:

1:没有参数使用read

vim she.sh

在文件中键入以下内容:

bash

复制代码

#! /bin/bash
echo "请输入你想输入的字符串:"
read string
echo "你输入的字符串是:$string"

执行she.sh文件,输出:

bash

复制代码

[root@VM_0_4_centos test]# ./she.sh
请输入你想输入的字符串:
qwertyuiop
你输入的字符串是:qwertyuiop

 2:使用参数-p/-t

使用if-else来编写一个测试的小程序把,执行程序等待10秒,未输入答案,直接退出程序。

代码如下所示:

在she.sh文件中键入如下的内容:

bash

复制代码

#! /bin/bash
if read -t 10 -p "请输入博客地址:" url
then
    echo "你的博客地址是:$url"
else
    echo "您输入超时了!"
fi

执行she.sh文件,如下所示:

bash

复制代码

[root@VM_0_4_centos test]# ./she.sh
请输入博客地址:guanchao.site
你的博客地址是:guanchao.site
[root@VM_0_4_centos test]# ./she.sh
请输入博客地址:您输入超时了!
[root@VM_0_4_centos test]#

以上大概就是linux系统shell编程中read命令的基本使用。

有好的建议,请在下方输入你的评论。

目录
相关文章
|
2月前
|
Linux iOS开发 MacOS
MacOS环境-手写操作系统-35-Shell控制台
MacOS环境-手写操作系统-35-Shell控制台
22 2
|
Shell Linux Perl
Shell基础学习---3、Read读取控制台输入、函数、正则表达式入门
Shell基础学习---3、Read读取控制台输入、函数、正则表达式入门
|
7月前
|
编解码 Linux Shell
【Shell 命令集合 系统设置 】Linux 设置Linux系统的控制台参数和属性setconsole命令 使用指南
【Shell 命令集合 系统设置 】Linux 设置Linux系统的控制台参数和属性setconsole命令 使用指南
111 0
|
7月前
|
Shell Linux Perl
Shell基础学习---3、Read读取控制台输入、函数、综合应用案例:归档文件、正则表达式入门(第二天学习)
Shell基础学习---3、Read读取控制台输入、函数、综合应用案例:归档文件、正则表达式入门
134 1
|
存储 监控 网络协议
[oeasy]python0037_终端_terminal_电传打字机_tty_shell_控制台_console_发展历史
[oeasy]python0037_终端_terminal_电传打字机_tty_shell_控制台_console_发展历史
127 0
[oeasy]python0037_终端_terminal_电传打字机_tty_shell_控制台_console_发展历史
|
存储 Shell
Shell的read 读取控制台输入、read的使用
read是Shell内置命令,用来从标准输入中读取数据并赋值给变量。如果没有进行重定向,默认就是从键盘读取用户输入的数据;如果进行了重定向,那么可以从文件中读取数据。
541 1
Shell的read 读取控制台输入、read的使用
|
存储 Shell
Shell的read 读取控制台输入、read的使用
Shell的read 读取控制台输入、read的使用
Shell的read 读取控制台输入、read的使用
|
Shell Linux
linux shell之控制台打印各种颜色字体和背景
linux shell之控制台打印各种颜色字体和背景
372 0
linux shell之控制台打印各种颜色字体和背景
|
Shell PHP C++
C++/Php/Python/Shell 程序按行读取文件或者控制台
写程序经常需要用到从文件或者标准输入中按行读取信息,这里汇总一下。方便使用 1. C++  读取文件 1 #include 2 #include 3 4 int main(){ 5 const char* in_file = "input_file_name"...
920 0
|
2月前
|
Shell
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
113 1