本文介绍了linux - 将命令从一个终端写入另一个终端的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要从一个终端向另一个终端写入命令.

I need to write commands from one terminal to another terminal.

我试过这些:

echo -e "ls
" > /proc/pid/fd/0
echo -e "ls
" > /dev/pts/4

它只是打印 ls 作为输出而不执行.

Which just prints the ls as output and doesn't execute.

我试过这些:

chmod 777 /dev/tty4 ;echo "ls" > /dev/tty4
chmod 777 /dev/tty40 ;echo "ls" > /dev/tty40

似乎什么都没做

有什么想法吗?

[请注意,我不想触摸第二个终端来完成此操作.只有第一个]

[note that I don't want to touch the second terminal to accomplish this. only the first one]

推荐答案

Python 代码:

#!/usr/bin/python

import sys,os,fcntl,termios
if len(sys.argv) != 3:
   sys.stderr.write("usage: ttyexec.py tty command
")
   sys.exit(1)
fd = os.open("/dev/" + sys.argv[1], os.O_RDWR)
cmd=sys.argv[2]
for i in range(len(cmd)):
   fcntl.ioctl(fd, termios.TIOCSTI, cmd[i])
fcntl.ioctl(fd, termios.TIOCSTI, '
')
os.close(fd)

这篇关于linux - 将命令从一个终端写入另一个终端的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-17 10:02