You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash/Linux中如何将多行输入分别赋值给变量?

如何用read命令将多行输入分别赋值给变量?

假设在Bash/Linux环境下有如下输入:

2
3
5

需要将这三行内容分别赋值给num1、num2、num3,已知要用到read命令,该如何实现?

方法1:逐行调用read命令

直接对每个变量单独调用read,每次读取一行输入:

read num1
read num2
read num3

执行后,num1会被赋值为2,num2为3,num3为5,逻辑清晰,适合输入明确为三行的场景。

方法2:单次read分配多个变量

Bash的read命令支持一次性指定多个变量,默认会以换行(或空格)作为分隔符,将输入内容依次分配给变量:

read num1 num2 num3

注意:如果输入行数多于变量数,多余的内容会被全部存入最后一个变量;如果行数不足,未被赋值的变量会设为空值。

方法3:结合here-document批量赋值

如果是在脚本中使用固定的多行输入,可以用here-document配合read一次性完成赋值:

read num1 num2 num3 <<EOF
2
3
5
EOF

这种写法适合把输入内容直接嵌入脚本,无需外部输入流。

内容的提问来源于stack exchange,提问作者fantahwa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 12:10:45