ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • echo 명령어의 활용
    2012. 12. 16. comments

    echo와 pipeline


    echo는 텍스트를 출력해주는 기능을 가진 명령어이다.


    morenice@morenice-ubuntu:~$ echo 'morenice is good'

    morenice is good


    보통 shell에서 출력을 하기 위해 자주 사용하지만 다른 방향으로도 사용할 수 있다. 

    어떤 명령어들은 실행했을 때 'Y,y,n,a...' 등등의 입력을 받을 때가 있다. 정말 진행하시겠습니까? 등등의 질문과 응답을 기다리는 명령어들을 의미한다. 그럴 때 echo와 파이프라인을 이용하여 직접 입력하지 않아도 작업을 진행할 수 있게 하는 것이다. 물론, 보통의 명령어들은 추가 입력을 받지 않고 강제로 진행하게 하는 옵션이 있지만 지원하지 않을 경우에는 유용하게 사용할 수 있다.


    echo keyword | command...


    파이프라인("|")은,  좌측 명령어의 stdout 출력물에 대하여 우측 명령어 결과의 stdin으로 넘겨준다. 일반적으로 입력을 받는 명령어에 대해서 입력을 하고 엔터를 누르면 stdin으로 프로그램에 입력값이 넘어가니 똑같은 형태로써 동작하는 것이다.




    example

    i2cdetect라는 명령어가 있다. 아래와 같이 명령을 내리면 경고메세지와 진행을 할 것인지 "Continue? [Y/n]"와 함께 입력을 기다린다.


    morenice@morenice-ubuntu:~$ i2cdetect 0


    WARNING! This program can confuse your I2C bus, cause data loss and worse!

    I will probe file /dev/i2c/0.

    I will probe address range 0x03-0x77.

    Continue? [Y/n] 



    echo와 파이프라인을 이용하면, 기다렸다가 Y를 입력하지 않아도 명령어의 결과가 출력이 된다.


    morenice@morenice-ubuntu:~$ echo Y |i2cdetect 0

    WARNING! This program can confuse your I2C bus, cause data loss and worse!

    I will probe file /dev/i2c/0.

    I will probe address range 0x03-0x77.

    Continue? [Y/n]      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f

    00:          -- -- -- -- -- 08 -- -- -- -- -- -- -- 

    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 

    ..

    ..



    윈도우에서도 echo 명령어와 파이프라인을 사용할 수 있다.

    Y를 눌러주지 않아도 알아서 해당 디렉토리의 파일들이 삭제된다.

    echo Y | del *



    스크립트를 작성할 때 응답이 필요한 명령어들을 발견하면 첫번째로 응답을 받지 않는 옵션을 찾아봐야 한다.

    그렇지 않으면 echo와 파이프라인을 활용해보자.



    반응형

    댓글

Designed by Tistory.