redirecting stdout and stderr to file using bash

0 votes

In order to redirect stdout to a file in bash I use:

cmd > file.txt

To redirect stdout using Bash while appending I use:

cmd >> file.txt

and for both stdout and stderr to a truncated file I use:

cmd &> file.txt

How do I redirect both stdout and stderr appending to a file? cmd &>> file.txt did not work for me

But I want to redirect both stdout and stderr appending to a file. How do I do that?

Mar 19, 2019 in Linux Administration by DragonLord999
• 8,450 points
692 views

1 answer to this question.

0 votes
cmd >>file.txt 2>&1

Bash always executes and redirects from left to right:

  1. >>file.txt: simply opens the text file in append mode and puts the stdout there
  2. 2>&1: this redirects stderr to the same place where stdout is ging. which in this case is the file opened in append mode. The &1 is using the descriptor which was being used by stdout
answered Mar 19, 2019 by ajs3033
• 7,280 points

Related Questions In Linux Administration

0 votes
1 answer

How to extract file base name without path and extension in bash?

You don't actually have to call the ...READ MORE

answered May 31, 2019 in Linux Administration by Shubham
• 13,450 points
1,974 views
0 votes
1 answer

pipe to clipboard using Bash

Try xclip; xclip - command line interface to ...READ MORE

answered Jun 17, 2019 in Linux Administration by Shubham
• 13,450 points
114 views
0 votes
1 answer

To attach a file using mail command on Linux

$ echo | mutt -a syslogs.tar.gz admin@domain.org READ MORE

answered Jun 28, 2019 in Linux Administration by Upasana
• 8,620 points
833 views
0 votes
1 answer

copy and create destination directory using bash

mkdir -p "$d" && cp file "$d" try ...READ MORE

answered Jul 15, 2019 in Linux Administration by Upasana
• 8,620 points
94 views
0 votes
1 answer
0 votes
1 answer

Redirecting output to a file and stdout

The command you want is named tee; foo ...READ MORE

answered May 31, 2019 in Linux Administration by Shubham
• 13,450 points
90 views
0 votes
1 answer
0 votes
1 answer

How do I set variable if a specific package version is installed in CFEngine?

Here is what you can do.Just use packagesmatching to ...READ MORE

answered Jul 12, 2018 in Other DevOps Questions by Atul
• 10,240 points
189 views
0 votes
2 answers

how to loop through the content of a file using bash

#!/bin/bash for i in  `cat peptides.txt` do echo $i done READ MORE

answered Sep 4 in Linux Administration by Prakash K. Aithal
695 views
0 votes
1 answer

How to collect all output in one file?

You can use 2> to redirect it: foo ...READ MORE

answered Mar 1, 2019 in Linux Administration by ajs3033
• 7,280 points
94 views