標準入出力 4

リダイレクションとパイプの応用

今まで説明のために使ってきたputとgetというプログラムによって、 もう少し複雑な例を解説する。

上で説明されたコマンドをまとめてみた。

# cat put.c
#include <stdio.h>
main()
{
	printf("stdout\n");            /* 標準出力へ出力される */
	fprintf(stderr, "stderr\n");   /* 標準エラー出力へ出力される */
}
# cat get.c
#include <stdio.h>
main()
{
	char s[128];

	while(scanf("%s", s) == 1){    /* データの終りがきたらwhileループを終る */
		printf("get : %s\n", s);  /* 読み込んだ文字列にget : を付けて出力する */
	}
}
# cc -o put put.c
# cc -o get get.c
# put
stdout
stderr
# get
test
get : test
Ctrl+d                   <- Ctrlキーとdキーを同時に押すとデータの終りになる
# ( put > data1 ) >& data2
# cat data1
stdout
# cat data2
stderr
# tty
/dev/ttyq1
# ( put > /dev/ttyq1 ) >& data
stdout
# cat data
stderr
# ( put | get > data ) |& get
get : stderr
# cat data
get : stdout
#

参考


Prev
Home | Contents
abe@injapan.net