Skip to main content
Became Hot Network Question
edited title
Link
Stéphane Chazelas
  • 587.9k
  • 96
  • 1.1k
  • 1.7k

Stdout / stderr redirection doesn't work at preventing /dev/tcp/host/port redirection errors

Source Link
user264359
user264359

Stdout / stderr redirection doesn't work

This is normal redirection.

user@linux:~$ randomcommand randomcommand: command not found user@linux:~$ 

2>

user@linux:~$ randomcommand 2> /dev/null user@linux:~$ 

&>

user@linux:~$ randomcommand &> /dev/null user@linux:~$ 

However, it doesn't work when I tried to do the same with different command as shown below.

&>

user@linux:~$ > /dev/tcp/127.0.0.1/22 &> /dev/null && echo open || echo closed bash: connect: Connection refused bash: /dev/tcp/127.0.0.1/22: Connection refused closed user@linux:~$ 

2>

user@linux:~$ > /dev/tcp/127.0.0.1/22 2> /dev/null && echo open || echo closed bash: connect: Connection refused bash: /dev/tcp/127.0.0.1/22: Connection refused closed user@linux:~$ 

What's wrong with these syntax and how to fix it?