Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I know the answer for some shells, e.g. with cmd.exe you can:

some.exe > out.txt 2>&1

How do you achieve the same for other shells (bash, ksh, tcsh, powershell, etc)?

share|improve this question

4 Answers 4

For csh and tcsh

some.exec >& out.txt
share|improve this answer
    
for tcsh, you also have some.exec |& less –  Mark0978 Jan 27 '11 at 22:21

In bash you do exactly the same.

./some_exec > out 2>&1
share|improve this answer

In Powershell it is exactly the same:

2>&1      Sends errors to the        get-process none, powershell 2>&1
          success output stream.

(from about_Redirection).

In bash and ksh at least I also know it works this way.

It seems to be a common convention.

A quick way to find out about it is by opening the man page of the shell and do a search for &1 (with / and then typing &1). This rarely occurs in other contexts.

share|improve this answer

Fish shell

To redirect both standard output and standard error to the file all_output.txt, you can write:

echo Hello > all_output.txt ^&1
share|improve this answer
1  
if piping output to next command, use 2>| instead: echo Hello 2>| less –  Jeffrey04 Aug 14 at 10:18

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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