😀

リダイレクトのまとめ

2016/03/27に公開

1.リダイレクトの種類

リダイレクトには、2種類の書き込み方式と1種類の読み込み方式がある。

shell.sh
#!/bin/bash
#

# ファイルに上書き
コマンド > ファイル名

# ファイルに追記
コマンド >> ファイル名

# ファイルから入力
コマンド < ファイル名

2.出力と出力先の設定

標準出力は以下の2種類あり、コマンドライン上では番号で指定する。また、出力先は通常画面であるが、ファイルを指定することもできる。

  • 標準出力(1)
  • 標準エラー出力(2)
#!/bin/bash
#

# 標準出力、標準エラー出力を画面に出力
コマンド

# 標準出力をファイルに出力
コマンド 1> ファイル名

# 標準エラー出力をファイルに出力
コマンド 2> ファイル名

# 標準出力と標準エラー出力の両方をファイルに出力する
#   (1) 標準出力をファイルに設定(コマンド 1> ファイル名)し、
#   (2) 標準エラー出力の出力先を標準出力に合わせる(2>&1)
コマンド 1> ファイル名 2>&1

3.その他関連項目

3.1 teeコマンド

teeとは、標準入力から読み込んだ内容を標準出力とファイルに書き込むためのコマンドである。

tee.sh
# 標準出力と標準エラー出力の両方をファイルに出力する
#   (1) 標準エラー出力の出力先を標準出力を合わせて(コマンド 2>&1)、
#   (2) ファイルに書き込む(tee log.txt)
コマンド 2>&1 | tee log.txt

参考サイト

AdminWeb - 標準エラー出力をファイルへ出力
Qiita - bash:標準出力も標準エラーもログに出力
Qiita - シェルの入出力制御あれこれ
UNIXの部屋 コマンド検索: リダイレクト

Discussion