É verdade que, como outros já disseram, os PTYs têm uma certa sobrecarga - mas a grande razão para não usar um PTY ao executar um comando remoto é que você perde informações.
Normalmente, quando você executa um comando remotamente via ssh, os fluxos stdout
e stderr
do comando são enviados para o local stdout
e stderr
, o que significa que você pode redirecionar / canalizá-los separadamente - por exemplo:
$ ssh server ls foo bar
ls: cannot access bar: No such file or directory
foo
$ ssh server ls foo bar > stdout 2> stderr
$ cat stdout
foo
$ cat stderr
ls: cannot access bar: No such file or directory
Mas se você usar um PTY, toda a saída vai para stdout
, porque os PTYs não possuem fluxos separados para saída / erro:
$ ssh -t server ls foo bar > stdout 2> stderr
$ cat stdout
ls: cannot access bar: No such file or directory
foo
$ cat stderr
$