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

如何以非交互方式在Shell脚本中传入多个变量作为输入

解决方法

有三种常见方式可以实现给该交互式脚本非交互传入两个变量:

方法1:带换行符的here字符串

利用bash的$'\n'插入换行,让两个变量分别对应脚本两次read的输入行:

./input.sh <<< "$username"$'\n'"$password"

方法2:管道传递多行输入

用echo -e解析换行转义字符,将两个变量分两行输出后通过管道传给脚本:

echo -e "$username\n$password" | ./input.sh

若环境中echo不支持转义,可改用printf确保兼容性:

printf "%s\n%s\n" "$username" "$password" | ./input.sh

方法3:here文档

通过here文档标记(EOF)直接传入两行内容,变量会自动展开:

./input.sh << EOF
$username
$password
EOF

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 07:40:37