사용자 정의 리다이렉트
를 만들어봅시다.
기본적으로 파일 디스크립터
는 0~8
까지 존재하고, 3~8
에 대해서 사용자 정의 리다이렉션을 정의할 수 있습니다.
$ cat test1
#!/bin/bash
exec 3> result
echo "this is first line"
echo "this is second line" >&3
echo "this is third line"
$ ./test1
this is first line
this is third line
$ cat result
this is second line
&<파일 디스크립터>
는 해당 파일 디스크립터
가 출력되는 장소를 나타냅니다.
$ cat test1
#!/bin/bash
exec 3>&1
exec 1>result
echo "this is first line"
echo "this is second line" >&3
exec 1>&3
echo "this is third line"
$ ./test1
this is second line
this is third line
$ cat result
this is first line
exec 3>&1
로 되어 3번 파일 디스크립터
는 1번 파일 디스크립터
가 가리키는 곳(모니터)으로 출력됩니다.exec 1>&3
: 기존에 3번 파일 디스크립터
는 모니터를 가리키고 있었기 때문에 1번 파일 디스크립터
는 모니터를 가리키게 됩니다.