如何将输出发送到/dev/tty?

8
有没有一种方法在执行完类似于 echo "test" > /dev/tty1 这样的命令后发送类似于“数据结束”的东西,以便将“输入光标”返回到“接收”终端(在这种情况下为 tty1)?
截图:http://picload.org/image/acdwigg/tty.png

不确定您所说的“为了将“输入光标”返回到“接收”终端(在这种情况下是tty1)”是什么意思?(从这里无法访问屏幕截图链接..) - anishsane
执行命令后,$PS1是提示符,类似于$:或user@server。如果我在终端窗口(tty1)中回显一些内容,则必须在终端窗口(tty1)中按下“Enter”键。 - inselberg
1
请写一个清晰的问题,有些用户(包括我)无法正确理解它。 - Jav
这怎么是一个编程问题? - EJoshuaS - Stand with Ukraine
Shell脚本编程是一种编程方式,而与shell工具和行为相关的话题也在这里得到了关注。 - codewario
4个回答

3
$ echo "test" > /dev/tty
test

Cygwin支持在POSIX系统上常见的以下字符设备:
/dev/tty 会话的当前控制tty。

特殊文件名


2
使用echo > /dev/tty无法实现此功能。但是,您可以通过向正在使用该tty的进程发送信号来实现此功能。
例如:
kill -s SIGINT `ps -ft pts/2 | grep pts/2 | cut -d ' ' -f 5`

2

CentOS会在您选择的控制台中打印出您的字符串。

#run on pts/8
[root@C203-ATC ONT]# uname -a
Linux C203-ATC 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
[root@C203-ATC ONT]# echo "test" > /dev/pts/3
[root@C203-ATC ONT]# 

[root@C203-ATC BASIC]# tty
/dev/pts/3
#checked on pts/3  
[root@C203-ATC BASIC]# test
(cursor)
#cursor pending ...

1

您不能那样做。

> 重定向操作符使得在整个执行时间内,标准输入都是 echo 命令,您无法随意更改。

您可能需要重新考虑您的需求和实现方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接