3819

19 分钟

#Bash 的 read 命令

read [OPTION]... [NAME]...

功能

读取一行输入并将其拆分进多个字段。

类型

Bash 内置命令。

参数

  • OPTION 选项:
    • -a array - 将读取到的单词依次分配给数组变量 array
    • -d delim - 指定 delim 作为行分隔符;默认为换行符(\n
    • -e - 使用 Readline 获取行
    • -i text - 使用 text 作为 Readline 的提示符
    • -n nchars - 最多读取 nchars 个字符
    • -N nchars - 最多读取 nchars 个字符,并且忽略行分隔符
    • -p prompt - 打印 prompt 作为提示符
    • -r - 不允许使用反斜杠转义任何字符
    • -s - 不要回显来自终端的输入
    • -t timeout - 超时时间
    • -u fd - 从文件描述符 fd 读取输入;默认为标准输入
  • NAME - 要写入的变量名列表;省略此参数则默认写入数组变量 REPLY

#示例

$ read x y < <(echo 1 2 3)  # 将 1 2 3 写入 x y
$ echo $x
1
$ echo $y                   # 最后一个变量会写入剩余的全部
2 3

#相关命令

命令说明
mapfile按行读取输入并写入数组中
readarray按行读取输入并写入数组中

#手册

更新: 2026/4/21

作者: PlanC

创建: 2026/4/21