Você precisa abrir a conexão para leitura e gravação, usando <>
e, provavelmente, enviar mais alguns cabeçalhos e ler a resposta. Por exemplo,
exec 5<>/dev/tcp/yahoo.com/80
echo -e "GET / HTTP/1.1\r\nHost: yahoo.com\r\nContent-Length: 0\r\n\r" >&5
# get reply: HTTP/1.1 301 Moved Permanently^M
cat <&5
Eu usei o descritor de arquivos arbitrário 5 apenas para evitar a supressão do padrão 0, 1 e 2. Com o Yahoo você não precisa do cabeçalho de comprimento do conteúdo, mas outros sites podem não responder até receberem mais entradas. O yahoo requer o cabeçalho do host, ou você receberá a resposta HTTP/1.1 400 Host Header Required
.