百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

每日一个Linux命令解析——read(linux中read函数)

ahcoder 2025-03-28 14:26 21 浏览

read 命令用于在 Shell 脚本或交互式终端 中从标准输入(键盘或管道)读取用户输入,并存入变量。

一、语法

read [选项] 变量名

二、选项

-p "提示语" 直接在同一行显示提示文本(常用于交互式输入)

-t 秒数 设置输入超时时间,超时则 read 退出

-n 数量 只读取指定数量的字符,不需按回车

-s 隐藏输入内容(适用于密码输入)

-r 禁止反斜杠 \ 转义,确保原始输入

-a 数组 读取输入并存入数组

-d "分隔符" 以指定分隔符作为输入结束(默认为换行)

三、示例

  1. 读取用户输入
read name
echo "你好, $name!"
运行结果:
张三
你好, 张三!
  1. -p 选项(带提示)
read -p "请输入您的姓名: " name
echo "欢迎, $name!"
运行结果:
请输入您的姓名: 李四
欢迎, 李四!
  1. -t 选项(超时自动退出),如果 5 秒内未输入,read 退出,name 为空。
read -t 5 -p "请输入您的姓名(5秒内): " name
echo "输入的姓名: $name"
  1. -n 选项(读取固定字符数),只接受一个字符输入,不需按回车。
read -n 1 -p "请输入任意键: " key
echo -e "\n你输入的是: $key"
  1. -s 选项(隐藏输入,适用于密码)输入不会回显(适用于密码输入)。
read -s -p "请输入密码: " password
echo -e "\n密码已输入"
  1. -a 选项(存入数组)
read -p "请输入多个值: " -a values
echo "第一个值: ${values[0]}"
echo "第二个值: ${values[1]}"
运行结果:
请输入多个值: 10 20 30
第一个值: 10
第二个值: 20
  1. 读取文件行
while read line; do
    echo "读取: $line"
done < file.txt
逐行读取 file.txt 文件内容。

四、总结

  • read 适用于用户输入交互和文件读取
  • 交互式输入 可用 -p、-s、-t、-n 控制。
  • 读取数组 用 -a,保留 \ 用 -r。
  • 结合 while 可读取文件内容。
  • 自动化脚本 中,read 常与 echo 和 IFS 配合使用。


#Linux命令##read#

相关推荐

什么是Linux的Snap应用?(linux sln 使用方法)

如果你在使用Ubuntu18.04/20.04LTS版本的Ubuntu系统,会发现系统里面多了一个应用格式包——.snap包。Snap包是Ubuntu16.04LTS发...

俄罗斯联邦税务局拨款17亿用于购买搭载俄国产版本Linux的计算机

据cnews网站11月5日报道,俄罗斯联邦税务局已拨款16.9亿卢布用于购买搭载该国国产版Linux操作系统的计算机——这包括AltSP、AstraLinux、RedOS和CentOS。有关部门...

Linux dpkg命令详解(dpkg -l | grep)

一、简介dpkg是基于Debian发行版Linux系统的低级包管理工具,可以手动安装、配置、移除.deb包,与apt命令不同的是,dpkg不会自动处理包之间的依赖关系。二、常用选项...

从 Windows 7 切换到 Linux 的最简单方法

欢迎来到Windows7的最后一天——也就是微软为这个过时的操作系统提供安全更新的最后一天。虽然你有很多升级Windows7的选项,甚至还有可能将更新延长数年的黑客攻击,但如果你不想升级到...

VMware Workstation 17.0 Pro 发布:新增 TPM 2.0 完美兼容Win11

IT之家11月18日消息,VMwareWorkstation17.0Pro现已发布,它带来了许多新特性,例如微软Windows11硬性要求:虚拟可信平台模块(TPM)2.0。...

虚拟机怎么玩?Android MAC Linux 统统拿下

VMWare虚拟机软件是一个"虚拟PC"软件,它使你可以在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与"多启动"系统相比,VMWare采用了完全不同的概念。多启动系统在一个时...

Linux正式进入4.0时代(linux 4.0)

胡卷卷o2015/04/1311:58今早,LinusTorvalds在Kernel的GitHubmaster中提交了一个改动,Kernel正式进入4时代。该项目代号为“Hurr...

为什么说linux操作系统要比windows稳定?

正常人说windows的时候是指一整套桌面系统,而说linux的时候是一个命令行+内核。后者从原理上就比前者稳定。如果你日常使用的是linux的发行版桌面系统,看到这话估计直接想骂娘。就我12年的ub...

12 款最佳免费开源 Linux 渲染器 | 火狐浏览器 130.0 版本更新

12款最佳免费开源Linux渲染器Linux的一大优势在于其拥有丰富的开源软件,可以满足艺术家、摄影师、动画师和设计师的需求。凭借价格低廉的硬件、免费的软件以及少量的才能和灵感,任何人都可以创...

开源新闻速递:Linux 4.7 内核发布了第二个 RC 版本

今天关注Linux4.7内核发布了第二个RC版本。被很多Linux发行版都作为默认桌面主题的ArcGTK主题发布了相配合的图标主题ArcIcon,不过目前该图标主题还不够完整,缺少...

Linux Kernel最新稳定版4.4.4版本发布

葛雷格·克罗哈曼(GregKroah-Hartman)于今天正式发布了LinuxKernel最新稳定版--4.4.4版本。尽管官方网站并未更新关于该版本的更新日志,但LinuxKernel4....

Escuelas Linux教育系统4.4版本发布

援引外媒SoftPedia报道,基于Ubuntu系统的EscuelasLinux教育操作系统于4月18日正式上线4.4版本,现已开放下载。EscuelasLinux4.4已经重新基于最新发布的的...

Linux Kernel 4.5系列第4个维护版本发布

LinuxKernel开发者GregKroah-Hartman今天宣布最新稳定和最先进的Linux4.5内核分支迎来第4个维护版本。尽管目前没有太多GNU/Linux操作系统适配LinuxKe...

Linux Kernel 4.5 RC6已开放公测:最终版本3月到来

LinuxKernel4.5RC6已于2月28日开放公测,此外LinusTorvalds也宣布最终版本将于3月到来。他表示,4.5版Linux内核的第6个候选发布版本中整合了一个针对网络驱动头...

Linux Kernel 4.5首个候选版本发布

现在长期支持的Linux4.4内核已经结束,接下来内核开发者将研发重心转移至下个重要版本LinuxKernel4.5。就在几分钟前,LinusTorvalds宣布Linux4.5内核系列的首...