Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 使用Bash将stdin重定向到来自不同的终端大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我想知道如何将脚本的stdin从当前的xterm会话(即/ dev / pts / 0)重定向到使用bash运行的那个(即/ dev / pts / 1)?我有一个打开3个xterm窗口的bash脚本,我想从其中一个窗口获取输入,我无法弄清楚如何做到这一点.任何帮助表示赞赏!谢谢. 编辑(从下面移动 – OP提交此澄清作为答案) 我想我应该澄清一下我想做什么.我将从一个pty开始一个脚本,让我们说
我想知道如何将脚本的stdin从当前的xterm会话(即/ dev / pts / 0)重定向到使用bash运行的那个(即/ dev / pts / 1)?我有一个打开3个xterm窗口的bash脚本,我想从其中一个窗口获取输入,我无法弄清楚如何做到这一点.任何帮助表示赞赏!谢谢.

编辑(从下面移动 – OP提交此澄清作为答案)

我想我应该澄清一下我想做什么.我将从一个pty开始一个脚本,让我们说它是/ dev / pts / 3.这个脚本将打开3个终端,比方说:/ dev / pts / 0,/ dev / pts / 1和/ dev / pts / 2.这3个新的ptys是用户将要看到的.该脚本要求用户输入一些内容,我希望将用户的输入输入/ dev / pty / 1,程序应该从那里获取它的信息.但是我试图这样做但它不起作用.这是我的代码片段.

exec</dev/pts/1

echo
echo "Would you like to search for more info?" 1>/dev/pts/1
read answer

case $answer in
    y) echo "YES" ;;
    n) echo "NO"  ;;
    *) echo "y/n only!";;
esac

最后的case语句只是一个小占位符,看看输入是否真的有效.

解决方法

我怀疑这是不可能的. AFAIK,在不修改内核空间中的内容的情况下,不可能从tty(或pty)读取不是当前tty的输入.即使root也无法做到.我花了一些时间研究这个,我无法找到如何做到这一点,但我发现很多消息来源声称这是不可能的.这似乎是增加用户安全性/隐私的设计决策.

大佬总结

以上是大佬教程为你收集整理的linux – 使用Bash将stdin重定向到来自不同的终端全部内容,希望文章能够帮你解决linux – 使用Bash将stdin重定向到来自不同的终端所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。