설명

printf 함수에 준하는 화면 출력 명령어이다.
유닉스 및 리눅스 운영체제에서 지정한 문자열 또는 텍스트를 터미널에 출력한다.
프롬프트 명령, 셸 스크립트, 배치 파일에서 화면이나 파일로 상황을 알릴 때 사용한다. (로그 용도)
셸 스크립트의 변수나 터미널의 환경변수를 확인할 때 사용한다.

1
2
3
4
5
#!/bin/zsh

# echo [옵션] [텍스트 및 문자열]
echo Nice to meet you. My name is EUIYEON KIM
# -e 특수문자, 유니코드 사용가능

![[Pasted image 20260705125513.png]]

복습 개념(입출력 재지향, Redirection 리디렉션)

데이터의 ‘흐름을’ 바꾸는 작업이다.
화살표가 가리키는 방향이 '데이터가 들어가는 곳’이다.

1. 출력 재지향 (>, >>)

명령어의 결과(출력)를 파일로 보낸다. ‘화살표 끝이 파일을 향하고 있다.’

1
2
3
4
5
6
#!/bin/zsh

echo 'Hello' > hello.txt # 덮어쓰기, 파일이 없다면 파일을 생성하고, 기존 파일이 존재하면 전부 지우고 새로 쓴다.

echo 'World' >> world.txt # 이어쓰기, 파일이 없다면 파일을 생성하고, 기존 파일이 존재하면 그 내용 뒤에 덧붙인다.

2. 입력 재지향 (<, <<) - 가장 헷갈리는 부분

키보드로 타이핑할 내용을 다른 곳에서 가져와 명령어에 주입한다. ‘화살표의 끝이 명령어를 가르킨다.’
문법: 명령어 < 파일명
예시: cat < hello.txt
차이점: cat hello.txt는 cat 명령어에게 파일명을 알려주고 '네가 직접 열어봐’라고 하는 것이다.
반면 cat < hello.txt는 셸이 hello.txt를 열어서 그 안의 텍스트 내용을 cat 명령어 입구에 통째로 던져주는 것이다. cat 입장에서는 파일이 아니라 누군가 키보드로 텍스트를 초고속으로 타이핑해 준 것으로 인식한다.

1
2
3
4
5
#!/bin/zsh

cat < hello.txt
cat << EOF # 지정한 단어가 나올 때까지 입력(Here Document)
# 사용자가 화면에 직접 여러 줄의 글을 쓰다가 특정 단어가 입력되면 입력을 끝내고 싶을 때 사용한다.

escape(이스케이프) 문자 옵션

문자 설명
\\ 역슬래시 문자를 사용한다.
\a 경고음 소리를 출력한다.
\b backspace(백스페이스)의 역할을 한다.
\c 지정한 문자열 부터 출력하지 않는다.
\e
\n newline의 약자로 새로운 라인으로 줄바꿈
\r carriage return의 약자로 문자의 새 줄을 시작하는데 사용
\t tab의 약자로 수평으로 탭 간격을 출력
\v vertical tab의 약자로 수직으로 탭 간격을 출력