Linux command - echo

sycho·2024년 1월 3일
0

Linux Commands

목록 보기
26/30

echo

  • documentation

  • 인자로 주어진 문자열을 그대로 출력하는 명령어다.

  • 이미 존재하는 파일의 디자인을 원하는 형태로 바꿀 때 유용하게 쓰일 수 있는 명령어다.

basics

echo [OPTION]... [STRING]...
  • OPTION : echo 동작 설정

  • STRING : echo가 조작할 문자열

  • 그냥 쓰면 받은 문자를 그대로 다시 표준 출력에 출력한다.

sycho@DESKTOP-4RPUOID:~$ echo "this is sycho velog"
this is sycho velog
  • 가급적 사용시 ""로 문자열을 둘러싸자. 안그러면 예상치 못한 일이 일어날 수 있다. (특히 옵션 사용시)

Options

escape character 인식 (-e)

  • 사용하면 \을 escape character로 인식하게 된다.
sycho@DESKTOP-4RPUOID:~$ echo -e "Well \bwhy \bshould \bwe \bdo \bthis?"
Wellwhyshouldwedothis?

끝에 \n 붙이지 않기 (-n)

  • echo가 완료된 후에 \n을 붙이지 않게 된다.
sycho@DESKTOP-4RPUOID:~$ echo -n "yo what's up"
yo what's upsycho@DESKTOP-4RPUOID:~$

escape character 인식 안하기 (-E)

  • 보통 기본으로 설정되어 있어서 쓸 일이 별로 없다.

  • 사용하면 \을 escape character로 인식하지 않는다.

sycho@DESKTOP-4RPUOID:~$ echo -E "cook\nme\nsome\nchicken"
cook\nme\nsome\nchicken

활용

쉘 변수 값 출력

  • 쉘 변수 설정 후, 해당 변수를 출력하는 것도 가능하다. 스크립트 작성시 유용하다.
sycho@DESKTOP-4RPUOID:~$ x=1
sycho@DESKTOP-4RPUOID:~$ echo value of x is $x
value of x is 1
  • 이 때문에 환경변수 출력도 가능하다.
sycho@DESKTOP-4RPUOID:~$ echo $PWD
/home/sycho

다양한 -e 활용

  • \v를 쓰면 세로 형태로 탭을 하는 것이 가능하다.
sycho@DESKTOP-4RPUOID:~$ echo -e "apple \vtree \vhas \van \vapple."
apple
      tree
           has
               an
                  apple.
  • \t\n을 사용해가지고 각 단어를 앞에 공백이 있는 형태로 세로 열로 만드는 것도 가능하다.
sycho@DESKTOP-4RPUOID:~$ echo -e "\tapple\n\ttree\n\thas\n\tan\n\tapple."
        apple
        tree
        has
        an
        apple.
  • 그 외에도 존재하는 escape character을 다양한 방식으로 활용하는 것이 가능하다. 대표적으론
    • \a : 경고음을 낸다. 해보기 전에 소리가 켜져 있는지 확인해보자.
    • \f : form feed. page break라고도 불리며 여러 page들을 구별할 때 쓰인다.
    • \r : carriage return. 해당 줄의 처음으로 돌아가기
    • \c : 해당 character 이후는 더이상 출력하지 않기
    • \0 : 옆에 세개의 0~7 범위의 숫자가 들어가며, 해당 8진수 값을 가지는 byte를 나타냄. 알파벳 o가 아니라 숫자 0이다. 출력은 그 byte가 나타내는 ASCII가 나온다.
    • \x : 옆에 2개의 숫자 혹은 A~F가 들어가며, 해당 16진수 값을 가지는 byte를 나타냄. 출력은 그 byte가 나타내는 ASCII가 나온다.

모든 파일 출력 (ls 대체용)

sycho@DESKTOP-4RPUOID:~$ echo *
Backend-Practice demo devops-directive-docker-course

redirection 활용 간단하게 파일 생성 + 특정 확장자의 파일들 확인.

sycho@DESKTOP-4RPUOID:~$ echo hi > example1.txt
sycho@DESKTOP-4RPUOID:~$ echo hi2 > example2.txt
sycho@DESKTOP-4RPUOID:~$ echo *.txt
example1.txt example2.txt

로그 파일 시작 시간 집어넣기

sycho@DESKTOP-4RPUOID:~$ echo "started at : $(date +'%D %T')" > log.txt
sycho@DESKTOP-4RPUOID:~$ cat log.txt
started at : 01/03/24 13:47:10
profile
CS 학부생, 핵심 관심 분야 : Embed/System/Architecture/SWE

0개의 댓글