[shell script] 사용자 정의 리다이렉션 만들기

HYEOB KIM·2022년 4월 25일
0

Shell

목록 보기
48/71

사용자 정의 리다이렉트를 만들어봅시다.

기본적으로 파일 디스크립터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번 파일 디스크립터는 모니터를 가리키게 됩니다.
profile
Devops Engineer

0개의 댓글