On a remote server that was updated with a newer version of Ubuntu, when I try to redirect stderr it won't work. Using putty from windows, but I've done it on the old server all the time.

g++ filename 2> whatever.txt

just says

g++: error: 2: No such file or directory

When I click the up arrow to bring it back it shows the command with a space between 2 and > as:

g++ filename 2 > whatever.txt

What the heck is going on here? Any ideas?

  • 1
    Does the same thing happen if you try it while directly logged into the Ubuntu machine or if you use a different terminal program like MobaXterm or if Windows, the DOS shell or Powershell? Jan 5 at 1:32
  • yes, it turns out the server defaulted to CSH which doesn't support 2> Jan 5 at 2:31

1 Answer 1


The problem was the shell was csh which doesn't support that.

To find if you're using it use: echo $0

  • Note that csh supports cmd >& file to redirect both stdout and stderr to file (zsh and bash did copy that from csh; though there that overlaps with the >& 2 Bourne syntax) Jan 5 at 8:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.