2>&1 とか ファイル記述子 とか
標準入力、標準出力、標準エラー出力ってのは
ファイルディスクリプタ、ファイル記述子なんだとさ
ファイル記述子wiki
ここから引用しました
(1)' $ cat bfile 1> cfile 2> cfileつまり「2>&1」は、全部盛りです。
または $ cat bfile > cfile 2> cfile
または $ cat bfile > cfile 2> &1
(2)' $ cat bfile > cfile 2> error
つまり,Bシェルでは標準出力を > または 1> ,標準エラー出力を 2> で指定できるようになっており,二つを同時に指定することもできますから,Cシェルよりも機能が上といえます。なお, 2>&1 は「標準エラー出力(2)を標準出力(1)と同じところに指定」と読めば意味がよくわかるでしょう。
ここなんか経験あると分かりやすい思うのですが
$ ./sysbackup.sh > log.txt 2> err.txtで、スクリプトの実行結果がlog.txtに収められる予定が
スクリプトが失敗してエラー文がでてしまったらerr.txtに記入して
コマンドラインでは何事もなかったように終わるみたいな。
$ ./sysbackup.sh > log.txtだけだと失敗すると
コマンドラインに失敗の指摘文でるっしょ。
それを同一ファイルでいいなら
$ ./sysbackup.sh > log.txt 2>&1みたいな
分かりにくい文章だけど自分が分かればいい
みたいな