IO in Bash
Each open file gets assigned a file descriptor. [2] The file descriptors for stdin
, stdout
, and stderr
are 0, 1, and 2, respectively.
Basics
Command
do
[cmd] > [filename]
Redirects stdout to file creating or overwriting
echo "hi" > test.txt
[cmd] >> [filename]
Appends stdout to file if it exists, or creates
echo "Thank you" >> test.txt
1>[filename]
redirect stdout to file
echo "Dream better" 1>$LOGFILE
2>[filename]
redirect stdeer
bad_command1 2>$ERRORFILE
&>[filename] ORR >&[filename]
redirect both stdout and stderr
0< FILENAME
accept input from a file
Pipes
General purpose comman chaining
cat *.txt | sort | uniq > test.txt
Advanced Stupid Stuff
Cmd
do
Ex
: > [filename]
make file empty
: > test.txt
2>&1
Redirects stderr to stdout.
Last updated