首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

【Linux】一步一步学Linux——read命令(220)

  • 23-11-18 13:40
  • 3544
  • 12343
blog.csdn.net

00. 目录

文章目录

    • 00. 目录
    • 01. 命令概述
    • 02. 命令格式
    • 03. 常用选项
    • 04. 参考示例
    • 05. 附录

01. 命令概述

read命令用于从标准输入读取数值。read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。

read命令一般用在shell脚本中。

02. 命令格式

用法:read [选项] [参数]
  • 1

03. 常用选项

-a	后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符
– d	后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志
– p	后面跟提示信息,即在输入前打印提示信息
– e	在输入的时候可以使用命令补全功能
– n	后跟一个数字,定义输入文本的长度
– r	屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了
– s	安静模式,在输入字符时不再屏幕上显示
– t	后面跟秒数,定义输入字符的等待时间
– u	后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

04. 参考示例

4.1 从标准输入读取输入并赋值给变量

[root@localhost ~]# read var
1234
[root@localhost ~]# echo $var
1234
[root@localhost ~]# 
  • 1
  • 2
  • 3
  • 4
  • 5

4.2 从标准输入读取输入并赋值给多个变量

[root@localhost ~]# read var var1
1234 5678
[root@localhost ~]# echo $var $var1
1234 5678
[root@localhost ~]# 
  • 1
  • 2
  • 3
  • 4
  • 5

从标准输入读取输入到第一个空格或者回车,将输入的第一个单词放到变量var中,并将该行其他的输入放在变量var1中。

4.3 从标准输入读取一行并赋值给特定变量REPLY

[root@localhost ~]# read
hello dengjin
[root@localhost ~]# echo $REPLY
hello dengjin
[root@localhost ~]# 
  • 1
  • 2
  • 3
  • 4
  • 5

4.4 读取内容存储到数组中

[root@localhost ~]# read -a arr
111 222 333 444   
[root@localhost ~]# echo ${arr[@]}
111 222 333 444
[root@localhost ~]# 
  • 1
  • 2
  • 3
  • 4
  • 5

4.5 打印提示,等待输入

[root@localhost ~]# read -p "please input a number: " num
please input a number: 13
[root@localhost ~]# echo $num
13
[root@localhost ~]# 
  • 1
  • 2
  • 3
  • 4
  • 5

4.6 允许输入包含反斜杠

[root@localhost ~]# read -r str
hello dengjin\n
[root@localhost ~]# echo $str
hello dengjin\n
[root@localhost ~]# 
  • 1
  • 2
  • 3
  • 4
  • 5

4.7 指定读取等待时间为3秒

[root@localhost ~]# read -t 3 num
[root@localhost ~]# 
  • 1
  • 2

4.8 读取6个字符之后返回

[root@localhost ~]# read -n 6 passwd
123456[root@localhost ~]# 

  • 1
  • 2
  • 3

4.9 使用冒号结束输入

[root@localhost ~]# read -d":" var
hello world:[root@localhost ~]# 
  • 1
  • 2

4.10 不显示终端的任何输入

[root@localhost ~]# read -p "please input a passwd" -s  passwd
please input a passwd[root@localhost ~]# 
[root@localhost ~]# echo $passwd
123456
[root@localhost ~]# 
  • 1
  • 2
  • 3
  • 4
  • 5

05. 附录

参考:【Linux】一步一步学Linux系列教程汇总

注:本文转载自blog.csdn.net的沧海一笑-dj的文章"https://blog.csdn.net/dengjin20104042056/article/details/100573975"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top