ユーザ用ツール

サイト用ツール


サイドバー



最近の更新



Tag Cloud

タグ#
6
10
1
3
1
2
17
7
1
1
6
9
4
1
2
182
1
4
2
7
14
5
1
25
2
3
1
6
1
1
33
1
3
3
1
1
1
1
1
1
13
45
7
9
10
5
10
3
2
2
8
2
2
6
3
1
1
4
7
4
2
2
2
1
7
2
4
1
3
24
2
12
2
3
1
1
2
2
1
1
1
4
2
2
4
2
2
1
1
2
1
1
1
2
1
26
2
1
2
2
2
1
1
2
3
12
4
7
1
1
2
9
1
3
1
1
7
1
1
1
1
1
8
1
4
2
1
1
1
3
3
5
1
2
1
1
7
3
1
10
1
1
4
1
2
1
2
7
2
1
3
1
1
3
1
2
1
2
2
2
1
2
3
1
1
3
2
1
3
1
3
3
2
1
1
7
1
3
3
1
1
1
1
5
1
27
2
1
2
1
2
2
3
1
1
1
2
1
2
1
1
1
3
1
1
1
2
2
2
1
1
1

bash:06_redirection

06 Bash リダイレクション

書式 標準入出力のリダイレクション

 > File   標準出力の内容をFileに書き込む
 >> File  標準出力の内容をFileに追加書きする。
 >m       ファイルディスプリタm番の内容を標準出力にコピーする。
          (標準出力の内容をファイルディスプリタm番に向ける)
 >&-      標準出力のファイルディスプリタを閉じる
 < File   標準入力をFileの内容とする。
 <&m      ファイルディスプリタm番の内容を標準入力にコピーする。
          (標準入力をファイルディスプリタm番からとする。)
 <&-      標準入力のファイルディスプリタを閉じる

書式 ファイルディスプリタ番号を指定したリダイレクション

 n> File   ファイルディスプリタn番の内容をFileに書き込む
 n>&m      ファイルディスプリタm番の内容をファイルディスプリタn番にコピーする
 n< File   Fileのデータをファイルディスプリタn番の入力とする
 n<&-      ファイルディスプリタn番を閉じる

ファイルディスプリタ番号

0(標準入力)と1(標準出力)は省略する事ができます。

50300
0標準入力
1標準出力
2標準エラー

lsコマンドの結果をlistへ書き込む。

 $ ls > list

既存のファイルに追加書き込み

dateコマンドをlistへ書き込んだ後、追加でlsの結果を書き込む。

 $ date > list
 $ ls >> list

1(標準出力)をlogに2(標準エラー)をerrlogに出力する。

 $ command > log 2> errlog

エラー(2)を/var/log/rsync.logへ、標準出力(1)を/dev/nullへ

 * 6 * * * root /root/rsync.sh 2> /var/log/rsync.log 1> /dev/null

1(標準出力)も2(標準エラー)も残さない。

・2>&1は1(標準出力)を2(標準エラー)にコピーするという意味
・/dev/nullは捨てるという意味。

 $ command >/dev/null 2>&1

■NG例
・この場合1(標準出力)を2(標準エラー)にコピーした後、1(標準出力)を捨てる為、2(標準エラー)は残る事になり、1(標準出力)も2(標準エラー)も残る事になる。

 $ commnad 2>&1 >/dev/null
bash/06_redirection.txt · 最終更新: 2015/10/07 09:30 (外部編集)

Yesterday:275 Today:168 Total:13309