O focus é quando o shell executa a instrução $(...)
.
echo $(tty) # answers me for example /dev/pts/xx
who | echo $(tty) # answers me 'not a tty'
Então em um processo de pipe a versão atual do bash (GNU bash, versão 4.3.11) chama outro subshell .
Você pode ler mais sobre o Guia do Bash para Iniciantes [ 1 ], [ 2 ] .
Não deixe o título enganá-lo ... ele está cheio de boas informações, não só para os iniciantes.