我有脚本,将推出一个子shell /背景命令来读取输入,然后做更多的工作:阅读使用内建命令从标准输入父读取,而在子shell
#!/bin/bash
(
while true; do
read -u 0 -r -e -p "test_rl> " line || break
echo "line: ${line}"
done
) &
sleep 3600 # more work
通过以上我不甚至得到一个提示。如果我在启动子shell之前,然后从描述符3(-u 3
)读取,那么我至少会得到提示,但是读取命令仍然没有得到我输入的任何输入。
如何从终端(父级的标准输入文件描述符)正确读取内置读取内容?
请张贴完整的例子 – aless80
后台进程不允许从终端阅读。 – Barmar
'man bash'中的查找合作进程 – cdarke