本帖最后由 水精灵 于 2026-9-14 10:35 编辑

read命令 从键盘读取变量的值,通常用在shell脚本中与用户进行交互的场合。该命令可以一次读取多个变量的值,变量和输入的值都需要使用空格隔开。在read命令后面,如果没有指定变量名,读取的数据将被自动赋值给特定的变量REPLY。
基本语法格式:
read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]

选项
说明
-a
选项后跟一个变量,该变量会被认为是一个数组,然后给其赋值,默认是以空格为分隔符
-d
选项后跟一个标识符,只有其后的第一个字符有用,作为结束的标志
-p
选项后跟提示信息,即在输入前打印提示信息
-e
在输入的时候可以使用命令补全功能
-n
选项后跟一个数字,定义输入文本的长度
-r
屏蔽\,如果没有该选项,则\作为一个转义字,有的话\就是一个正常的字符了
-s
安静模式,在输入字符时不在屏幕上显示,例如login时输入密码
-t
选项后跟秒数,定义输入字符的等待时间
-u
选项后跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的
read命令在实际应用中使用非常广泛,以下有几个简单的应用实例。
从标准输入读取输入值并赋值给变量,实例中尝试赋值给word:
#!/bin/bash
echo "键盘输入一个单词:"
read word
echo "查看word变量是否已经赋值"
echo $word
通过键盘输入一个单词,将单词赋值给word,最后echo打印的read变量值应该跟输入的值一样。
1.png
连续输入并赋值给不同的变量,在输入的时候需要用空格隔开:
#!/bin/bash
echo "键盘输入三个数字:"
read one two three
echo "查看三个数字变量是否已经赋值"
echo "one=$one two=$two three=$three"
运行结果:
2.png

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Powered by Discuz! X3.5  © 2001-2013 Comsenz Inc.