Presumivelmente, seu comando não está certo; Da forma como está, ele salvará a string "Hello" em um arquivo chamado 2
, ou seja, tty/pts/2
(se os diretórios intermediários existirem).
Talvez você quisesse dizer:
echo "Hello" > /dev/pts/2
que enviará a string "Hello" para o 2º pseudo-terminal.
Agora, o STDIN, STDOUT e STDERR do processo em execução dentro do terminal estão ligados ao próprio pseudo-terminal, portanto, não é realmente possível destacar o descritor de arquivo do processo em execução no terminal.
Você pode verificar que, em /proc
, lendo o descritor de arquivo no shell que está sendo executado dentro de um terminal, você verá que os fluxos padrão são realmente vinculados ao pseudo-terminal.
Para minha zsh
em execução no pseudo terminal /dev/pts/46
:
/proc/self/fd% tty
/dev/pts/46
/proc/self/fd% ls -l
lrwx------ 1 foobar foobar 64 Jun 13 15:07 0 -> /dev/pts/46
lrwx------ 1 foobar foobar 64 Jun 13 15:07 1 -> /dev/pts/46
lrwx------ 1 foobar foobar 64 Jun 13 15:07 2 -> /dev/pts/46