Creative Saplings

Linux에서 Echo 명령을 사용하는 방법

10월 19, 2020
No Comments
  • Dave McKay

    @TheGurkha

  • 2019 년 10 월 29 일 오전 8:00 EDT
Fatmawati Achmad Zaenuri /

echo 명령은 형식화 된 텍스트를 터미널 창에 쓰는 데 적합합니다. 정적 텍스트 일 필요도 없습니다. 쉘 변수, 파일 이름 및 디렉토리를 포함 할 수 있습니다. echo를 리디렉션하여 텍스트 파일과 로그 파일을 만들 수도 있습니다. 이 간단한 가이드를 따라 방법을 알아보십시오.

Echo는 반복하라는 말을 반복합니다

Zeus는 아름다운 님프와 어울리기 위해 올림푸스 산을 떠나는 것을 좋아했습니다. 한 번의 여행에서 그는 Echo라는 산의 요정에게 아내 헤라가 그를 따라 오면 길을 잃게하라고 말했습니다. Hera는 Zeus를 찾아 왔고 Echo는 Hera가 대화를 계속할 수 있도록 최선을 다했습니다. 마침내 헤라는 성질을 잃고 불쌍한 에코를 저주하여 다른 사람이 한 마지막 말만 반복했습니다. Hera가 제우스를 따라 잡았을 때 한 일은 누구나 추측 할 수있는 일입니다.

그것이 echo의 삶의 많은 부분입니다. 반복하라는 말을 반복합니다. 이것은 간단한 기능이지만 매우 중요한 기능입니다. 예를 들어 echo가 없으면 쉘 스크립트에서 가시적 인 출력을 얻을 수 없습니다.

광고

수많은 종소리와 휘파람 소리가 들리면 echo에 사용자가 몰랐거나 잊었을 기능이있을 가능성이 높습니다.

echo? echo!

대부분의 Linux 시스템은 echo의 두 가지 버전을 제공합니다. Bash 셸에는 자체 echo가 내장되어 있으며 echo의 바이너리 실행 가능 버전도 있습니다.

다음 명령을 사용하여 두 가지 다른 버전을 볼 수 있습니다.

type echo
whereis echo

type 명령은 인수로 전달하는 명령이 쉘 내장, 바이너리 실행 파일, 별칭 또는 함수인지 여부를 알려줍니다. echo가 쉘 내장이라고보고합니다.

광고

답을 찾으면 바로 type는 더 이상 일치하는 항목을 찾지 않습니다. 따라서 시스템에 같은 이름을 가진 다른 명령이 있는지 알려주지 않습니다. 그러나 어느 것이 먼저 발견되었는지 알려줍니다. 그리고 이것이 우리가 해당 명령을 실행할 때 기본적으로 사용되는 것입니다.

whereis 명령은 바이너리 실행 파일, 소스 코드 및 매뉴얼 페이지를 찾습니다. 명령 줄 매개 변수로 전달하는 명령입니다. 별도의 바이너리 실행 파일이 없기 때문에 셸 내장 기능을 찾지 않습니다. Bash 실행 파일의 필수 부분입니다.

whereis 명령은 echo가 바이너리 실행 파일이라고보고합니다. /bin 디렉토리에 있습니다.

echo의 해당 버전을 사용하려면 다음을 제공하여 명시 적으로 호출해야합니다. 명령 줄에서 실행 파일의 경로 :

/bin/echo --version
광고

셸 내장은 --version 명령 줄 인수는 터미널 창에서 반복합니다.

echo --version

여기에 표시된 예제는 모두 기본값을 사용합니다. Bash 셸에서 echo 버전.

터미널에 텍스트 쓰기

단순한 텍스트 문자열을 터미널 창에 쓰기 에서 echo를 입력하고 표시 할 문자열을 입력합니다.

echo My name is Dave.

텍스트가 반복됩니다. 하지만 실험을하면서 곧 상황이 약간 더 복잡해질 수 있음을 알게 될 것입니다. 다음 예를보십시오.

echo My name is Dave and I"m a geek.
광고

터미널 창에 > 기호가 표시됩니다. 거기 앉아 기다리고 있습니다. Ctrl + C를 누르면 명령 프롬프트로 돌아갑니다. 무슨 일이 있었나요?

“I ‘m”이라는 단어의 작은 따옴표 또는 아포스트로피가 echo를 혼동했습니다. 작은 따옴표를 인용 된 섹션의 시작으로 해석했습니다. 닫는 작은 따옴표를 감지하지 못했기 때문에 echo가 더 많은 입력을 기다리고있었습니다. 추가 입력에 기다리는 누락 된 작은 따옴표가 포함될 것으로 예상했습니다. p>

문자열에 작은 따옴표를 포함하려면 가장 간단한 해결책은 전체 문자열을 큰 따옴표로 묶는 것입니다.

echo "My name is Dave and I"m a geek."

텍스트 감싸기 큰 따옴표로 묶는 것은 좋은 일반적인 조언입니다. 스크립트에서 echo에 전달하는 매개 변수를 명확하게 구분합니다. 이렇게하면 스크립트를 훨씬 쉽게 읽고 디버깅 할 수 있습니다.

광고

텍스트 문자열에 큰 따옴표 문자를 포함하려면 어떻게해야합니까?간단합니다. 큰 따옴표 앞에 백 슬래시 \를 넣으면됩니다 (사이에 공백 없음).

echo "My name is Dave and I"m a \"geek.\""

이렇게하면 “geek”라는 단어가 큰 따옴표로 묶여 있습니다. 곧 이러한 백 슬래시 이스케이프 문자를 더 많이 보게 될 것입니다.

echo와 함께 변수 사용

지금까지 , 우리는 터미널 창에 미리 정의 된 텍스트를 작성했습니다. echo와 함께 변수를 사용하여 더 동적이고 셸에서 값을 삽입 한 출력을 생성 할 수 있습니다. 다음 명령으로 간단한 변수를 정의 할 수 있습니다.

my_name="Dave"

my_name라는 변수가 생성되었습니다. 텍스트 “Dave”의 값을 할당했습니다. echo에 전달하는 문자열에 변수 이름을 사용할 수 있으며 변수 값은 터미널 창에 기록됩니다. 변수 이름 앞에 달러 기호 $를 넣어 echo가 변수임을 알 수 있도록해야합니다.

광고

주의 사항이 있습니다. 문자열을 작은 따옴표로 묶은 경우 echo는 모든 것을 문자 그대로 처리합니다. 변수 이름이 아닌 변수 값을 표시하려면 큰 따옴표를 사용하십시오.

echo "My name is $my_name"
echo "My name is $my_name"

다소 적절하게 반복 할 가치가 있습니다.

  • 작은 따옴표를 사용하면 텍스트가 문자 그대로 터미널 창에 기록됩니다.
  • 큰 따옴표를 사용하면 해석되는 변수 (변수 확장이라고도 함)가 터미널 창에 기록됩니다.

관련 : Bash에서 변수로 작업하는 방법

echo

echo와 함께 명령을 사용하고 출력을 터미널 창에 기록되는 문자열에 통합 할 수 있습니다. 명령이 변수 인 것처럼 달러 기호 $를 사용하고 전체 명령을 괄호로 묶어야합니다.

날짜 명령을 사용하겠습니다. . 한 가지 팁은 echo와 함께 사용하기 전에 명령을 단독으로 사용하는 것입니다. 이렇게하면 명령 구문에 문제가있는 경우 echo 명령에 포함하기 전에이를 식별하고 수정합니다. 그런 다음 echo 명령이 예상 한 작업을 수행하지 않으면 문제가 echo 구문에 있어야한다는 것을 알 수 있습니다. 명령의 구문을 이미 검증했습니다.

따라서 터미널 창에서 다음을 시도해보십시오.

date +%D

그리고 우리가 date 명령에서 기대하는 내용을 가져 와서 echo 명령에 통합합니다.

echo "Today"s date is: $(date +%D)"
광고

명령은 괄호 안에 있고 달러 기호 $는 첫 번째 괄호 바로 앞에 있습니다.

에코로 텍스트 서식 지정 h2>

-e (백 슬래시 이스케이프 활성화) 옵션을 사용하면 일부 백 슬래시 이스케이프 문자를 사용하여 텍스트 레이아웃을 변경할 수 있습니다. 다음은 사용할 수있는 백 슬래시 이스케이프 문자입니다.

그 중 일부를 사용하고 그 기능을 살펴 보겠습니다.

echo -e "This is a long line of text\nsplit across three lines\nwith\ttabs\ton\tthe\tthird\tline"

텍스트 \n 문자를 사용한 새 줄로 분할되고 \t 문자를 사용한 탭이 삽입됩니다.

echo -e "Here\vare\vvertical\vtabs"
광고

\n 줄 바꿈 문자처럼 세로 탭 \v는 텍스트를 아래 줄로 이동합니다. 그러나 \n 줄 바꿈 문자와 달리 \v 세로 탭은 열 0에서 새 줄을 시작하지 않습니다. 현재 열을 사용합니다.

\b 백 스페이스 문자는 커서를 한 문자 뒤로 이동합니다. 터미널에 쓸 텍스트가 더 있으면 해당 텍스트가 이전 문자를 덮어 씁니다.

echo -e "123\b4"

“3”은 ” 4”.

\r 캐리지 리턴 문자는 echo가 현재 줄의 시작으로 돌아가서 열 0에서 추가 텍스트를 작성합니다.

echo -e "123\r456"

“123”문자는 “456”문자로 덮어 씁니다.

\a 경고 문자는 “삐”소리를냅니다. 현재 테마에 대한 기본 경고음을 사용합니다.

echo -e "Make a bleep\a"
광고

-n (줄 바꿈 없음) 옵션은 백 슬래시 이스케이프 된 시퀀스가 아니지만 텍스트 레이아웃의 외형에 영향을 미치므로 여기서 논의하겠습니다. echo가 추가되지 않도록합니다. 텍스트 끝에 줄 바꾸기 명령 프롬프트는 터미널 창에 기록 된 텍스트 바로 뒤에 나타납니다.

echo -n "no final newline"

파일 및 디렉토리에 echo 사용

echo를 정렬로 사용할 수 있습니다. 가난한 사람의 버전 ls. 이와 같이 echo를 사용할 때 옵션은 거의 없습니다. 어떤 종류의 충실도 또는 미세 제어가 필요한 경우 ls 및 다양한 옵션을 사용하는 것이 좋습니다.

이 명령은 모든 파일을 나열하고 현재 디렉토리의 디렉토리 :

echo *

이 명령은 이름이 “D”로 시작하는 현재 디렉토리의 모든 파일과 디렉토리를 나열합니다.

echo D*
광고

이 명령은 현재 디렉토리에있는 모든 “.desktop”파일을 나열합니다.

echo *.desktop

예. 이것은 echo의 강점에 맞지 않습니다. ls를 사용합니다.

echo를 사용하여 파일에 쓰기

echo 텍스트 파일을 생성하거나 기존 텍스트 파일에 기록합니다.

> 리디렉션 연산자를 사용하는 경우 파일이 존재하지 않으면 생성됩니다. 파일이 존재하는 경우 echo의 출력이 파일 시작 부분에 추가되어 이전 콘텐츠를 덮어 씁니다.

>> 리디렉션 연산자, 파일이없는 경우 생성됩니다. echo의 출력은 파일 끝에 추가되며 파일의 기존 내용을 덮어 쓰지 않습니다.

echo "Creating a new file." > sample.txt
echo "Adding to the file." >> sample.txt
cat sample.txt
광고

첫 번째 명령으로 새 파일이 생성되고 텍스트가 삽입됩니다. 그것에. 두 번째 명령은 파일 맨 아래에 텍스트 행을 추가합니다. cat 명령은 파일의 내용을 터미널 창에 표시합니다.

물론 변수를 포함하여 파일에 유용한 정보를 추가 할 수 있습니다. 파일이 로그 파일 인 경우 타임 스탬프를 추가 할 수 있습니다. 다음 명령으로이를 수행 할 수 있습니다.

date 명령의 매개 변수를 작은 따옴표로 묶습니다. 매개 변수 목록의 끝으로 해석되는 매개 변수 사이의 공백을 방지합니다. 매개 변수가 date에 올바르게 전달되었는지 확인합니다.

echo "Logfile started: $(date +"%D %T")" > logfile.txt
cat logfile.txt
광고

로그 파일이 생성되고 cat는 날짜 스탬프와 타임 스탬프가 모두 추가되었음을 보여줍니다.

관련 : Linux에서 stdin, stdout 및 stderr은 무엇입니까?

이것은 echo의 레퍼토리입니다.

간단한 명령이지만 필수 불가결합니다. 그것이 존재하지 않았다면 우리는 그것을 발명해야 할 것입니다.

Zeus의 헛소리는 결국 좋은 일이었습니다.

Dave McKay
Dave McKay는 천공 종이 테이프가 유행 할 때 컴퓨터를 처음 사용했으며 그 이후로 프로그래밍을 해왔습니다. IT 업계에서 30 년 이상 근무한 후 그는 현재 전임 기술 저널리스트입니다. 경력 기간 동안 그는 프리랜서 프로그래머, 국제 소프트웨어 개발 팀의 관리자, IT 서비스 프로젝트 관리자, 가장 최근에는 데이터 보호 책임자로 일했습니다. Dave는 Linux 전도사이자 오픈 소스 지지자입니다. 전체 약력 읽기 “

Articles
Previous Post

식단에 포함시켜야 할 구리가 풍부한 식품 10 가지

Next Post

취향 선택

답글 남기기 답글 취소하기

최신 글

  • 2020 년 세계 최고의 사진 학교
  • 주권 시민이 반정부 철학을 도로로 가져옴
  • 치장 벽토 수리 비용 가이드
  • Muckrakers (한국어)
  • 정밀 종양학

보관함

  • 2021년 2월
  • 2021년 1월
  • 2020년 12월
  • 2020년 11월
  • 2020년 10월
  • 2020년 9월
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.