문자 출력하기
echo "문자"
변수 출력하기
echo $변수
명령 결과 출력
echo $(터미널 명령)
모든 파일 및 디렉토리 출력
echo *
경고음
echo "\a"
이전 d 글자삭제
echo abcd"\b "
echo abcd"\b"efg
# 위와 같은 표현, \b 만 따옴표 안에 들어가면 됩니다
echo "abcd\b "
echo "abcd\befg"
\b 로 끝나면 \b " 와 같이 공백을 추가하지 않으면 글자삭제가 되지 않습니다
\b 뒤에 글자가 이어지면 글자가 삭제됩니다
중단, 이어지는 문자 출력 안함
echo abc"\c"def
다음줄
echo a"\n"b
탭
echo a"\t"a
다음줄 들여쓰기
echo a"\v"b
echo a"\f"b
덮어쓰기
echo "oooooo\raa"
echo "oooooo\r \raa"
\ 문자로 출력
echo -E text"\ "text
echo -E "text\text"
첫번째 줄 \ " 와 같이 중간에 공백은 \" 가 따옴표로 인식되기 때문입니다
두번째 줄과 같이 \ 뒤에 텍스트가 이어지면 정상적으로 출력됩니다
개행 없이 출력
echo -n te; echo xt
연산하기
echo $(( 1 + 2 ))
echo $[ 1 + 2 ]
16진수 10진수 출력
echo $[ 0x11 ]
echo $[ 16#11 ]
# 10진수 -> 16진수
echo "obase=16;11" | bc
printf '%x\n' 11
bc : 수식을 연산해줍니다
obase : 진수 출력을 설정합니다
8진수 10진수 출력
echo $[ 8#11 ]
# 10진수 -> 8진수
echo "obase=8;11" | bc
printf '%o\n' 11
2진수 10진수 출력
echo $[ 2#11 ]
# 10진수 -> 2진수
echo "obase=2;11" | bc
ASCII Code (8진수, 0~3자리 입력)
echo "\0141"
ASCII Code (16진수, 1~2자리 입력)
echo "\x61"
Unicode (16진수, 1~8자리 입력)
echo "\U1F431"
Unicode (16진수, 1~4자리 입력)
echo "\u1100"
범위 지정
# 숫자 범위지정
echo {1..10}
# 숫자 2씩 증가 범위지정
echo {1..10..2}
# 알파벳 범위지정
echo {a..z}
# 한글 범위지정
echo {가..하}
텍스트 파일 만들기
# > 왼쪽 표준출력을 > 오른쪽 파일에 입력
echo "텍스트" > file.txt
# 이어붙이기
echo "텍스트" >> file.txt
ANSI escape code
터미널 텍스트 포맷제어 코드로 터미널 프롬프트와 echo, printf 등의 명령을 통해 확인할 수 있습니다
a 에는 보통 8진수 넘버나 \e 와 같은 표현이 들어갑니다
\033 과 \e 는 아스키코드 ESC 키와 같은 표현입니다
b 에는 ANSI escape sequence 명령이 들어갑니다
echo "\e[33m"text
echo "\e[33m"text"\e[m"next
\e[33m 으로 시작해서 \e[m 으로 끝마칩니다
\e[m 는 \e[0m 과 같습니다
여기서 0 은 리셋 명령입니다
m 은 텍스트 칼라를 설정하는 명령이고, 뒤에 33은 노란색 칼라 값입니다
33과 같이 숫자마다 다양한 기능을 가지고 있습니다
텍스트 그래픽 설정
# 0 : Normal or Reset
echo "\e[0mtext"
# 1 : Bold (increased intensity)
echo "\e[1mtext"
# 2 : Faint (decreased intensity)
echo "\e[2mtext"
# 3 : Italic
echo "\e[3mtext"
# 4 : Underline
echo "\e[4mtext"
# 5 : Slow blink
echo "\e[5mtext"
# 7 : Invert (전경색, 배경색 반전)
echo "\e[7mtext"
# 8 : Hide
echo "\e[8mtext"
# 22 : Normal intensity
echo "\e[1mtext\e[22mtext"
# 23 : Neither italic
echo "\e[3mtext\e[23mtext"
# 24 : Not underlined (4 밑줄긋기 취소)
echo "\e[4mtext\e[24mtext"
# 25 : Not blinking
echo "\e[5mtext\e[25mtext"
# 27 : Not reversed
echo "\e[7mtext\e[7mtext"
# 28 : Not hide
echo "\e[8mtext\e[28mtext"
# 30 ~ 37 : Set foreground color
echo "\e[30mtext" # Black
echo "\e[31mtext" # Red
echo "\e[32mtext" # Green
echo "\e[33mtext" # Yellow
echo "\e[34mtext" # Blue
echo "\e[35mtext" # Magenta
echo "\e[36mtext" # Cyan
echo "\e[37mtext" # White
# 38 : Set foreground color (뒤에 211 숫자 자리에 256 색상 값 입력)
echo "\e[38;5;211mHello"
# 39 : Default foreground color
echo "\e[31mtext\e[39mtext"
# 40 ~ 47 : Set background color
echo "\e[40mtext" # Black
echo "\e[41mtext" # Red
echo "\e[42mtext" # Green
echo "\e[43mtext" # Yellow
echo "\e[44mtext" # Blue
echo "\e[45mtext" # Magenta
echo "\e[46mtext" # Cyan
echo "\e[47mtext" # White
# 48 : Set foreground color (뒤에 211 숫자 자리에 256 색상 값 입력)
echo "\e[48;5;211mHello"
# 49 : Default foreground color
echo "\e[41mtext\e[49mtext"
# 90 ~ 97 : Set bright foreground color
echo "\e[90mtext" # Bright Black
echo "\e[91mtext" # Bright Red
echo "\e[92mtext" # Bright Green
echo "\e[93mtext" # Bright Yellow
echo "\e[94mtext" # Bright Blue
echo "\e[95mtext" # Bright Magenta
echo "\e[96mtext" # Bright Cyan
echo "\e[97mtext" # Bright White
# 100 ~ 107 : Set bright background color
echo "\e[100mtext" # Bright Black
echo "\e[101mtext" # Bright Red
echo "\e[102mtext" # Bright Green
echo "\e[103mtext" # Bright Yellow
echo "\e[104mtext" # Bright Blue
echo "\e[105mtext" # Bright Magenta
echo "\e[106mtext" # Bright Cyan
echo "\e[107mtext" # Bright White
기타 코드
# 터미널 화면 정리
echo "\e[2J"
# 줄 삭제
echo abcd"\e[1K"efg
ANSI escape code 참고: https://en.wikipedia.org/wiki/ANSI_escape_code
댓글