我有以下脚本在 Ubuntu 中运行我的应用程序并重定向其输入(其中 $in 是命名管道,用于将文本行发送到 stdin)。
tail -f "$in" | "$app_bin" $app_args &
我可以在需要时将输入发送到我的应用程序:
printf "%s\n" "text input" >> "$in"
但是,当在 Cygwin 环境(Windows)中运行时,第二个命令仅在第一次有效!然后您尝试发送第二行文本,它会冻结而没有任何操作,而尝试操作 $in 会出现错误“设备或资源忙”。
你是如何解决这个问题的?它是 Cygwin 特有的吗?