This will show up on the other terminal but the bytes at the end aren't triggering the command to be accepted.
Todo dispositivo tty tem duas extremidades, como um tubo. O que você escreve em uma extremidade não faz o loop , mas sai pela outra extremidade. Por exemplo, com portas seriais, você tem /dev/ttyS*
em uma extremidade e a porta serial física na outra extremidade. O que você escreve para /dev/ttyS0
é enviado pelo fio.
Da mesma forma, para pseudo-terminais (ptys), você tem /dev/ttys*
indo para um dispositivo "pty master" sem nome que é gerenciado pelo aplicativo terminal. Quando você escreve algo em /dev/ttys000
, ele é não recebido pelo shell como entrada, porque o shell está anexado ao lado same 'slave' do arquivo . Em vez disso, a gravação é recebida pelo terminal app que mantém o mestre pty correspondente 'fd e mostrado como se fosse uma saída do programa .
(Alguns BSDs antigos, em que os ptys são denominados /dev/ttyP*
, têm um dispositivo /dev/ptyP*
correspondente para o terminal principal, mas não acho que o macOS tenha um equivalente. O Linux certamente não - sempre que abrir /dev/ptmx
lá, você tem um par de pty novo alocado.)
Então, como conseguir o que você quer?
-
Você pode tentar encontrar uma seqüência de escape que peça ao terminal para retornar algo como entrada. Aquilo costumava existir (por exemplo, havia uma sequência "diga-me o título da janela atual"), mas quase todos os terminais a desativavam por motivos de segurança: por exemplo, se você co% de% um arquivo malicioso, poderia definir o título do terminal e imediatamente pedir de volta, executando assim um comando.
-
Você poderia pedir ao kernel para falsificar a entrada. No Linux, há
cat
, que pode ser usado por ferramentas como writevt ; faz retornar a entrada a todos os outros programas conectados ao mesmo fim de um tty. Não tenho certeza se funciona no macOS. -
Você pode procurar outros métodos de automação. Se bem me lembro, o macOS tem o aplicativo "Automator" e o AppleScript . Outros sistemas podem ter ferramentas que se ligam aos recursos de acessibilidade (como um teclado virtual faria).