質問: bashにてログを書き出すコマンド 未経験で小さいシェルスクリプトを組んでいます。 バックグラウンドで動いているので、rmやmvをした時に何らかのメッセージがでてスクリプトがとまらないようにログ吐き出しをしたいのです。 それで、先人の書いたスクリプトを部分コピーしながらうまくやっていたのですが、ちゃんと意味を知らなければと思って質問しています。 たとえば rm $ファイル 2>> $ログファイル 1>&2 という記述がありまして、 2>> というのがどういう意味を持つのかが分かりません。 1>&2はググったところ、書き出しの順番のようですが、数字と&が具体的に何を意味しているか分かりませんでした。 bashのこういったコマンド群で参考になるサイトをご存じの方は教えていただけませんでしょうか。 また、簡単に上述の意味を教えていただけるとうれしいです。 よろしくお願いします。
回答: > や >> などは「リダイレクト」と呼ばれます。 「bash」と「リダイレクト」で検索するとよいでしょう。 1は標準出力 2は標準エラー出力なので 2>> は標準エラー出力を $ログファイルに「追記」するです 2> にするとログファイルの過去の内容が消えてしまいます。 1>&2 は標準出力と標準エラー出力を一緒に出力したい場合に使用します。