▶︎ exec 3>> file
exec 3>> file
는 리눅스 / 유닉스 화경에서 파일 디스크립터를 사용하여 파일을 열고 그 파일에 내용을 추가하는 방법 중 하나이다.
여기서 exec
는 셸에서 파일 디스크립터를 조작하는데 사용되는 명령어이다.
물론 이 예제에서는 위처럼 동작하지만 다른 목적으로도 사용이 가능하다.
해당 포스팅에서는 exec
명령어로 파일 디스크립터를 어떻게 조작하는지 확인해볼 것이다.
인자 | 설명 |
---|---|
3 |
여기서 3은 임의의 파일 디스크립터를 나타낸다. 특정한 숫자일 필요는 없으며, 사용 가능한 다른 파일 디스크립터 번호를 사용할 수 있다 |
>> |
이 연산자는 파일을 열고 해당 파일의 끝에 내용을 추가한다 |
file |
내용을 추가할 파일의 이름 |
‣ 예제 1 - 파일에 내용 추가하기
exec 3>> output.txt
echo "Hello, World!" >&3
위 예제에서는 output.txt
라는 파일에 'Hello, World!'라는 문자열을 추가한다.
이 때 파일 디스크립터 3
을 사용하여 파일에 접근한다.
‣ 예제 2 - 여러 줄의 내용 추가하기
exec 3>> output.txt
echo "First line ..." >&3
# 다른 파일 디스크립터를 사용하여 다른 파일에도 추가 가능
exec 4>> another_output.txt
echo "Second line ..." >&4
위 예제에서는 두 개의 파일에 각각 다른 내용을 추가한다. 파일 디스크립터 3
은 output.txt
에,
파일 디스크립터 4
는 another_output.txt
에 대해 사용한다.