小编alv*_*rre的帖子

在bash中多次读取stdin

我试图在shell脚本中多次读取stdin,没有运气.目的是首先读取文件列表(从stdin管道读取),然后再读两次以交互式获取两个字符串.(我要做的是阅读要附加在电子邮件中的文件列表,然后是主题,最后是电子邮件正文).

到目前为止我有这个:

photos=($(< /dev/stdin))

echo "Enter message subject"
subject=$(< /dev/stdin)

echo "Enter message body"
body=$(< /dev/stdin)
Run Code Online (Sandbox Code Playgroud)

(加上错误检查代码我省略了succintness)

然而,这可能是因为第二次和第三次重定向得到EOF而得到一个空的主体和身体.

我一直试图关闭并重新打开stdin与<& - 和东西,但它似乎没有那样工作.

我甚至尝试使用分隔符作为文件列表,使用"while; read line"循环并在检测到分隔符时中断循环.但那也不起作用(??).

任何想法如何建立这样的东西?

bash stdin

7
推荐指数
2
解决办法
8231
查看次数

标签 统计

bash ×1

stdin ×1