linux - 使用 Bash 将标准输入重定向到来自不同的终端

标签 linux bash stdin

我想知道如何使用 bash 将脚本的标准输入从当前 xterm session (即/dev/pts/0)重定向到也在运行的 session (即/dev/pts/1)?我有一个打开 3 个 xterm 窗口的 bash 脚本,我只想从其中一个窗口获取输入,但我不知道该怎么做。任何帮助表示赞赏!谢谢。



编辑(从下面移动——OP 提交了这个澄清作为答案)

我想我应该澄清我想做什么。我将从一个 pty 开始一个脚本,假设它是/dev/pts/3。该脚本将打开 3 个 xterminals,比方说:/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 语句只是一个小占位符,用于查看输入是否确实有效。

最佳答案

也许您可以根据需要调整 ttyecho

# /dev/ttysXXX is the result of the tty command in another Terminal window
sudo ttyecho -n /dev/ttysXXX pwd

也许 ttyecho 可以与 netcat(或 nc)或 ncat(它是nmap) 用于不同 ttys 之间的通信?

有关详细信息,请参阅:

关于linux - 使用 Bash 将标准输入重定向到来自不同的终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/640493/

相关文章:

python - 用数组值替换 mysql insert 语句

c - 如何获取当前进程的用户

linux - Bash 认为输入不正确?

linux - bash 脚本杀死竞争条件

python - 有没有办法将 'stdin' 作为参数传递给 python 中的另一个进程?

linux - 从键盘 bash 脚本控制变量

Python 值错误 : embedded null byte when reading png file from bash pipe

C - 使用轮询在套接字和标准输入之间多路复用 - 服务器

php - 使用 proc_open 运行进程

linux - PATH 应该包含目录还是二进制文件的完整路径?