[minishell]리다이렉션 및 here doc정리

개발하는 곰댕이·2021년 9월 10일
0

42Seoul

목록 보기
4/45

리다이렉션이란?

리다이렉션은 표준 스트림을 사용자가 지정한 위치로 우회할 수 있는 명령입니다.
간단하게 예를 들면

echo 42seoul > text.txt

echo를 사용해서 42seoul 출력하는 대신에 출력할 문자열을 text.txt에 저장한다는 말입니다.

이런 식으로 원래 입력 및 출력을 사용자가 지정한 곳으로 바꾸는 것을 리다이렉션이라고 합니다.

출력

>

표준 출력을 리다이렉션 합니다.

> echo 42seoul > text.txt
> cat text.txt
42seoul

이렇게 하면 text.txt라는 파일의 내용은 echo의 출력인 42seoul로 덮어씌워지게 됩니다.

>>

기존 파일을 지우지 않고 text.txt 파일 내용 뒤에 이어서 씁니다.

> cat text.txt
42seoul
> echo hello >> text.txt
> cat text.txt
42seoul
hello

이렇게 기존 내용이 지워지지 않고 기존 내용 뒤에 이어서 씁니다.

입력

<

표준 입력을 리다이렉션 합니다.

> cat < text.txt
42seoul
hello

echo 명령어는 표준입력을 받지 않기 때문에 cat 명령어로 확인해 보면 위 내용과 같이 표준입력을 파일에서 받을 수 있습니다.

<<

here document는 원하는 모든 문자(공백, 개행 등)를 포함시켜 사용할 수 있도록 만들어진 명령입니다.

> cat << end
> 1
> 2
> 3
> 4
> 5
> end
1
2
3
4
5

이렇게 end를 종료시그널로 지정하면 공백도 무엇도 포함하지 않고 온전히 "end"만 있는 입력이 들어올때까지 입력을 받습니다.

[minishell] 사용가능 함수 정리
[minishell]리다이렉션 및 here doc정리
[minishell]dup정리

0개의 댓글