我试图在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"循环并在检测到分隔符时中断循环.但那也不起作用(??).
任何想法如何建立这样的东西?