ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • linux 명령어에서 &&는 무슨 의미일까?
    2011. 7. 20. comments
    반응형

    명령어를 연속으로 실행할 수 있는데 조건을 줄 수가 있다.

    이러한 조건들은 일련의 작업을 할 쉘 스크립트를 작성할 때나 컴파일 진행 후 다음 액션을 지정할 때 사용하면 유용하다.

    •  앞의 명령어가 성공해야 다음에 이어지는 명령어를 수행
    •  앞의 명령어가 실패하면 다음에 이어지는 명령어를 수행
    •  명령어의 성공유무와 상관없이 명령어 리스트를 순차적으로 실행


    앞의 명령어가 성공해야 다음에 이어지는 명령어를 수행하게 하는 방법은 && 이다.
     

    make test && cp test output/


    make test는 test.cpp라는 소스코드파일을 컴파일해서 test라는 바이너리 파일을 만들어낸다.
    cp test output/는 test라는 파일을 output 디렉토리에 복사한다.
    && 로 두개로 묶어주면 앞의 컴파일이 성공해야 복사를 진행한다는 의미한다.



    반대의 케이스인 앞의 명령어가 실패하면 다음에 이어지는 명령어는 || 이다.

    make test || exit 1
    echo "copy to target directory..."
    cp ... 


    앞의 명령어는 동일하게 컴파일을 하는 것이며,  뒤의 명령어는 터미널을 종료하는 명령이다.
    앞의 조건이 다음조건 대부분에 의존적인 경우에 아예 뒤의 명령어들을 실행하지 못하게 종료시키게 사용할 수 있다.

     
    마지막으로 조건에 상관없이 실행시키는 명령어는 ; 이다.
    한 줄에 여러개의 명령들을 실행하고 싶을 때 사용한다.

    date ; sleep 1 ;  


    date는 시간을 print하는 명령어이고 sleep 1은 1초동안 입력을 받지 않겠다는 의미한다.
    앞의 명령어가 실행되고 나서 실행 성공여부와 관계 없이 바로 뒤의 명령어를 실행한다.



    반응형

    댓글

Designed by Tistory.