"에코"의 두 판 사이의 차이
(새 문서: '''echo'''는 도스, OS/2, 유닉스 및 유닉스 계열 운영 체제에서 문자열을 컴퓨터 터미널에 출력하는 명령어다.) |
잔글 |
||
(사용자 2명의 중간 판 8개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | ''' | + | '''에코'''(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]
각주[편집]
- ↑ 〈echo〉, 《네이버 지식백과》
- ↑ 〈echo (명령어)〉, 《위키백과》
- ↑ 오뇽, 〈(리눅스 명령어) echo - 지정한 문자열 및 환경변수 출력〉, 《티스토리》, 2016-08-18
- ↑ 4.0 4.1 4.2 얇은생각, 〈Linux, Ubuntu : echo 명령어 : 사용법, 옵션, 예제〉, 《티스토리》, 2020-03-04
- ↑ 불냥이_, 〈(C언어, 웹서버) Echo 클라이언트 (작성 중)〉, 《티스토리》, 2021-02-01
- ↑ sean, 〈(php)PHP /출력문/ echo, print〉, 《네이버 블로그》, 2019-12-13
참고자료[편집]
- 〈echo〉, 《네이버 지식백과》
- 〈echo (명령어)〉, 《위키백과》
- 오뇽, 〈(리눅스 명령어) echo - 지정한 문자열 및 환경변수 출력〉, 《티스토리》, 2016-08-18
- 얇은생각, 〈Linux, Ubuntu : echo 명령어 : 사용법, 옵션, 예제〉, 《티스토리》, 2020-03-04
- 불냥이_, 〈(C언어, 웹서버) Echo 클라이언트 (작성 중)〉, 《티스토리》, 2021-02-01
- sean, 〈(php)PHP /출력문/ echo, print〉, 《네이버 블로그》, 2019-12-13
같이 보기[편집]