ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Linux] 다중명령어(세미콜론, 파이프, &&, ||) 차이점
    서버 2016. 12. 6. 16:31

    세미콜론(;)

    하나의 명령어 라인에서 여러 개의 명령을 실행(하나의 명령어 다음에 추가)

    첫 번째 명령이 실패하여도 두 번째 명령은 반드시 실행이 됨.

    $ printf "first command\n"; printf "second command\n"
    first command
    second command
    
    # linux; date
    -bash: linux: command not found
    2016. 09. 04. (수) 11:21:39 KST

    파이프(|)

    앞에서 나온 명령 결과를 두 번째 명령에서 사용

    $ ps -ef | grep python
    root     30426     1  0 15:51 ?        00:00:00 sudo python3 manage.py runserver 0.0.0.0:80
    root     30427 30426  0 15:51 ?        00:00:00 python3 manage.py runserver 0.0.0.0:80
    root     30429 30427  0 15:51 ?        00:00:14 /usr/bin/python3 manage.py runserver 0.0.0.0:80
    test 31255 30994  0 16:29 pts/1    00:00:00 grep --color=auto python

    더블 엠퍼센드(&&)

    첫 번째 명령이 에러 없이 정상적으로 종료했을 경우에만 두 번째 명령을 수행

    $ date 'test' && printf "second command\n"
    date: invalid date `test'
    
    $ date && printf "second command\n"
    2013. 09. 04. (수) 11:35:22 KST
    second command

    더블 버티칼바(||)

    첫 번째 명령의 결과에서 에러가 발생하더라도 각각의 모든 명령을 수행

    $ date 'test' || printf "second command\n"
    date: invalid date `test'
    second command


    댓글