Copie e cole este código em ttyecho.c
Compile usando gcc -O3 -o ttyecho ttyecho.c
Use ./ttyecho -n /dev/pts/1 ls
Suponha que haja dois terminais, pts/0
e pts/1
.
Em pts/0
, ativei um comando:
ls>/dev/pts/1
Em seguida, só obtemos a saída do comando ls
em pts/1
, mas quero executar um comando e sua saída em pts/1
.
Eu tentei "echo ls">/dev/pts/1
, mas a saída do comando ls
, "ls", está impressa em pts/1
.
Como posso fazer isso?
Copie e cole este código em ttyecho.c
Compile usando gcc -O3 -o ttyecho ttyecho.c
Use ./ttyecho -n /dev/pts/1 ls
Depende do seu ambiente de terminal:
openvt _command_
screen _command_
xterm -e "_command_"
Não está claro para mim por que você quer fazer isso; dependendo do motivo exato, o pacote clusterssh pode fazer o que você quiser.
A ideia de clusterssh é que você inicie vários comandos ssh
para várias máquinas (ou possivelmente a mesma máquina várias vezes). Você então obtém uma janela de terminal para cada sessão ssh, além de uma janela de entrada de clusterssh. Se você digitar algo em uma das janelas do terminal, ele será enviado apenas para a sessão ssh; se você digitá-lo na janela de entrada principal, ele será enviado para todas sessões.
Se não é isso que você precisa, pode ser útil se você puder explicar por que deseja fazer isso.
Tags io shell-script