검수요청.png검수요청.png

"에코"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(새 문서: '''echo'''는 도스, OS/2, 유닉스 및 유닉스 계열 운영 체제에서 문자열을 컴퓨터 터미널에 출력하는 명령어다.)
 
잔글
 
(사용자 2명의 중간 판 8개는 보이지 않습니다)
1번째 줄: 1번째 줄:
'''echo'''는 도스, OS/2, 유닉스 및 유닉스 계열 운영 체제에서 문자열을 컴퓨터 터미널에 출력하는 명령어다.
+
'''에코'''(echo)는 시스템의 환경변수 또는 입력 내용을 화면에 출력하는 [[명령어]]이다.<ref> 〈[https://terms.naver.com/entry.naver?docId=4125621&cid=59321&categoryId=59321 echo]〉, 《네이버 지식백과》 </ref>
 +
 
 +
==개요==
 +
에코(echo)[[도스]], [[OS/2]], [[유닉스]] 및 유닉스 계열 운영체제와 [[C언어]], [[PHP]] 등 프로그래밍 언어에서 문자열을 컴퓨터 터미널에 출력하는 [[명령어]]이다. 일반적으로 셸 스크립트와 배치 파일에서 화면이나 파일로 상황을 알리는 문자열을 출력할 때에 사용되며, 주어진 문자열을 문자열 사이에 포함된 공백과 줄 마지막에 개행 문자를 포함하여 표준 출력으로 출력하는 명령어이고 경로는 내부 명령어로 이용한다.<ref> 〈[https://ko.wikipedia.org/wiki/Echo_(%EB%AA%85%EB%A0%B9%EC%96%B4) echo (명령어)]〉, 《위키백과》 </ref><ref> 오뇽, 〈[https://shaeod.tistory.com/757 (리눅스 명령어) echo - 지정한 문자열 및 환경변수 출력]〉, 《티스토리》, 2016-08-18 </ref>
 +
 
 +
==리눅스==
 +
[[리눅스]]의 에코 명령어는 인수로 전달되는 텍스트와 문자열을 표시하는 데 사용하며 쉘 스크립트와 배치 파일에서 주로 현재 상태를 화면이나 파일로 출력하는 데 사용되는 내장 명령어이다.<ref name="리눅스"> 얇은생각, 〈[https://jjeongil.tistory.com/997 Linux, Ubuntu : echo 명령어 : 사용법, 옵션, 예제]〉, 《티스토리》, 2020-03-04 </ref>
 +
 
 +
=== 문법 ===
 +
; 텍스트·문자열
 +
echo [option] [string]
 +
 
 +
; 문자열
 +
echo [문자열]
 +
echo "wo ai ni"<ref name="리눅스"></ref>
 +
 
 +
===옵션===
 +
-e는 백슬래시 이스케이프를 해석할 수 있다. \b는 텍스트 사이의 모든 공백을 제거한다.
 +
echo -e "wo \bai \bni"
 +
woaini
 +
\c는 새로운 라인없이 해당 옵션을 사용하여 후행 줄 바꿈을 억제한다. \c 뒤의 텍스트는 인쇄되지 않으며 새 줄 끝에서 생략된다.
 +
echo -e "wo \cai ni"
 +
wo
 +
\n 옵션은 사용되는 곳에서 새 줄을 만든다.
 +
echo -e "wo \nai \nni"
 +
wo
 +
ai
 +
ni
 +
 
 +
\t 옵션은 가로 탭 공간을 만드는 데 사용된다.
 +
echo -e "wo \tai \tni"
 +
wo    ai    ni
 +
 
 +
\r 명령어를 사용하여 출력할 위치를 지정한다. 위의 예에서 \r 앞의 텍스트는 인쇄되지 않는다.
 +
echo -e "wo \rai ni"
 +
ai ni
 +
 
 +
\v 옵션은 세로 탭 공간을 만드는 데 사용된다.
 +
echo -e "wo \vai \vni"
 +
wo   
 +
      ai
 +
          ni
 +
 
 +
\a 옵션을 사용하면 경고음이 울린다.
 +
echo -e "\awo ai ni"
 +
wo ai ni
 +
 
 +
echo * 명령은 ls command와 유사하며 모든 파일과 폴더를 출력한다. -n 옵션은 후행 줄 바꿈을 생략하는 데 사용된다.
 +
echo -n "wo ai ni"<ref name="리눅스"></ref>
 +
 
 +
==C언어==
 +
에코 [[클라이언트]]는 [[서버]]와의 연결을 수립한 이후에 클라이언트는 표준 입력에서 텍스트 줄을 반복해서 읽는 루프에 진입하고, 서버에 텍스트 줄을 전송한다. 그리고 서버에서 에코 줄을 읽어서 그 결과를 표준 출력으로 인쇄한다. 에코의 메인함수는 다음과 같다.
 +
 
 +
#include "csapp.h"
 +
 
 +
int main(int argc, char **argv)
 +
{
 +
    int clientfd;
 +
    char *host, *port, buf[MAXLINE];
 +
    rio_t rio;
 +
 
 +
    if (argc != 3)
 +
    {
 +
        fprintf(stderr, "usage: %s <host> <port>\n", argv[0]);
 +
        exit(0);
 +
    }
 +
    host = argv[1];
 +
    port = argv[2];
 +
 
 +
    clientfd = Open_clientfd(host, port);
 +
    Rio_readinitb(&rio, clientfd);
 +
 
 +
    while (Fgets(buf, MAXLINE, stdin) != NULL)
 +
    {
 +
        Rio_writen(clientfd, buf, strlen(buf));
 +
        Rio_readlineb(&rio, buf, MAXLINE);
 +
        Fputs(buf, stdout);
 +
    }
 +
    Close(clientfd);
 +
    exit(0);
 +
}<ref> 불냥이_, 〈[https://firecatlibrary.tistory.com/55 (C언어, 웹서버) Echo 클라이언트 (작성 중)]〉, 《티스토리》, 2021-02-01 </ref>
 +
 
 +
==PHP==
 +
[[PHP]] 언어에서도 echo 명령어를 이용해 값을 출력한다. 단 반환 값은 없고 여러 인자를 가질 수 있다. PHP는 사용 문법이 고정되어 있지는 않다.
 +
 
 +
;예시
 +
<! DOCYTPE html>
 +
<html>
 +
<body>
 +
<?php
 +
$txt1 = "php";
 +
$txt2 = "서버사이드 스크립팅";
 +
 +
echo "'<'h2'>' $txt1'<'/h2'>'";
 +
echo "<body bgcolor='orange'>'<'b'>' $txt2 언어입니다.'<'/b'>'";
 +
?>
 +
</body>
 +
</html>
 +
결과
 +
PHP
 +
서버사이드 스크립팅언어 입니다.<ref> sean, 〈[https://m.blog.naver.com/scyan2011/221736184350 (php)PHP /출력문/ echo, print]〉, 《네이버 블로그》, 2019-12-13 </ref>
 +
 
 +
{{각주}}
 +
 
 +
==참고자료==
 +
* 〈[https://terms.naver.com/entry.naver?docId=4125621&cid=59321&categoryId=59321 echo]〉, 《네이버 지식백과》
 +
* 〈[https://ko.wikipedia.org/wiki/Echo_(%EB%AA%85%EB%A0%B9%EC%96%B4) echo (명령어)]〉, 《위키백과》
 +
* 오뇽, 〈[https://shaeod.tistory.com/757 (리눅스 명령어) echo - 지정한 문자열 및 환경변수 출력]〉, 《티스토리》, 2016-08-18
 +
* 얇은생각, 〈[https://jjeongil.tistory.com/997 Linux, Ubuntu : echo 명령어 : 사용법, 옵션, 예제]〉, 《티스토리》, 2020-03-04
 +
* 불냥이_, 〈[https://firecatlibrary.tistory.com/55 (C언어, 웹서버) Echo 클라이언트 (작성 중)]〉, 《티스토리》, 2021-02-01
 +
* sean, 〈[https://m.blog.naver.com/scyan2011/221736184350 (php)PHP /출력문/ echo, print]〉, 《네이버 블로그》, 2019-12-13
 +
 
 +
==같이 보기==
 +
* [[PHP]]
 +
* [[리눅스]]
 +
* [[OS/2]]
 +
* [[PHP]]
 +
 
 +
{{프로그래밍|검토 필요}}

2021년 9월 15일 (수) 15:26 기준 최신판

에코(echo)는 시스템의 환경변수 또는 입력 내용을 화면에 출력하는 명령어이다.[1]

개요[편집]

에코(echo)는 도스, OS/2, 유닉스 및 유닉스 계열 운영체제와 C언어, PHP 등 프로그래밍 언어에서 문자열을 컴퓨터 터미널에 출력하는 명령어이다. 일반적으로 셸 스크립트와 배치 파일에서 화면이나 파일로 상황을 알리는 문자열을 출력할 때에 사용되며, 주어진 문자열을 문자열 사이에 포함된 공백과 줄 마지막에 개행 문자를 포함하여 표준 출력으로 출력하는 명령어이고 경로는 내부 명령어로 이용한다.[2][3]

리눅스[편집]

리눅스의 에코 명령어는 인수로 전달되는 텍스트와 문자열을 표시하는 데 사용하며 쉘 스크립트와 배치 파일에서 주로 현재 상태를 화면이나 파일로 출력하는 데 사용되는 내장 명령어이다.[4]

문법[편집]

텍스트·문자열
echo [option] [string]
문자열
echo [문자열]
echo "wo ai ni"[4]

옵션[편집]

-e는 백슬래시 이스케이프를 해석할 수 있다. \b는 텍스트 사이의 모든 공백을 제거한다.

echo -e "wo \bai \bni"
woaini

\c는 새로운 라인없이 해당 옵션을 사용하여 후행 줄 바꿈을 억제한다. \c 뒤의 텍스트는 인쇄되지 않으며 새 줄 끝에서 생략된다.

echo -e "wo \cai ni"
wo

\n 옵션은 사용되는 곳에서 새 줄을 만든다.

echo -e "wo \nai \nni"
wo 
ai 
ni

\t 옵션은 가로 탭 공간을 만드는 데 사용된다.

echo -e "wo \tai \tni"
wo    ai    ni

\r 명령어를 사용하여 출력할 위치를 지정한다. 위의 예에서 \r 앞의 텍스트는 인쇄되지 않는다.

echo -e "wo \rai ni"
ai ni

\v 옵션은 세로 탭 공간을 만드는 데 사용된다.

echo -e "wo \vai \vni"
wo    
     ai
          ni

\a 옵션을 사용하면 경고음이 울린다.

echo -e "\awo ai ni"
wo ai ni

echo * 명령은 ls command와 유사하며 모든 파일과 폴더를 출력한다. -n 옵션은 후행 줄 바꿈을 생략하는 데 사용된다.

echo -n "wo ai ni"[4]

C언어[편집]

에코 클라이언트서버와의 연결을 수립한 이후에 클라이언트는 표준 입력에서 텍스트 줄을 반복해서 읽는 루프에 진입하고, 서버에 텍스트 줄을 전송한다. 그리고 서버에서 에코 줄을 읽어서 그 결과를 표준 출력으로 인쇄한다. 에코의 메인함수는 다음과 같다.

#include "csapp.h"
 
int main(int argc, char **argv)
{
    int clientfd;
    char *host, *port, buf[MAXLINE];
    rio_t rio;
 
    if (argc != 3)
    {
        fprintf(stderr, "usage: %s <host> <port>\n", argv[0]);
        exit(0);
    }
    host = argv[1];
    port = argv[2];
 
    clientfd = Open_clientfd(host, port);
    Rio_readinitb(&rio, clientfd);
 
    while (Fgets(buf, MAXLINE, stdin) != NULL)
    {
        Rio_writen(clientfd, buf, strlen(buf));
        Rio_readlineb(&rio, buf, MAXLINE);
        Fputs(buf, stdout);
    }
    Close(clientfd);
    exit(0);
}[5]

PHP[편집]

PHP 언어에서도 echo 명령어를 이용해 값을 출력한다. 단 반환 값은 없고 여러 인자를 가질 수 있다. PHP는 사용 문법이 고정되어 있지는 않다.

예시
<! DOCYTPE html>
<html>
<body>
<?php
$txt1 = "php";
$txt2 = "서버사이드 스크립팅";

echo "'<'h2'>' $txt1'<'/h2'>'";
echo "<body bgcolor='orange'>'<'b'>' $txt2 언어입니다.'<'/b'>'";
?>
</body>
</html>
결과
PHP
서버사이드 스크립팅언어 입니다.[6]

각주[편집]

  1. echo〉, 《네이버 지식백과》
  2. echo (명령어)〉, 《위키백과》
  3. 오뇽, 〈(리눅스 명령어) echo - 지정한 문자열 및 환경변수 출력〉, 《티스토리》, 2016-08-18
  4. 4.0 4.1 4.2 얇은생각, 〈Linux, Ubuntu : echo 명령어 : 사용법, 옵션, 예제〉, 《티스토리》, 2020-03-04
  5. 불냥이_, 〈(C언어, 웹서버) Echo 클라이언트 (작성 중)〉, 《티스토리》, 2021-02-01
  6. sean, 〈(php)PHP /출력문/ echo, print〉, 《네이버 블로그》, 2019-12-13

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 에코 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.