1줄로 sync;sync;sync; 쓰면 3번 동작이 되는가?&&와 ;는 어떤 차이가 있나?
1줄로 sync;sync;sync; 쓰면 3번 동작이 되는가? &&와 ;는 어떤 차이가 있나?
'sync;sync;sync;'를 한 줄로 입력하면 'sync' 명령이 3번 실행됩니다. 세미콜론(';')을 사용하면 각 명령이 순차적으로 실행됩니다.
'&&'와 ';'의 차이
- '&&' (AND 연산자):
- 'command1 && command2': 첫 번째 명령 ('command1')이 성공적으로 실행되면(즉, 종료 상태가 0이면) 두 번째 명령 ('command2')을 실행합니다.
- 예를 들어, 'mkdir /newdir && cd /newdir'은 '/newdir' 디렉토리를 성공적으로 생성한 경우에만 '/newdir'로 이동합니다.
- ';' (세미콜론):
- 'command1; command2': 첫 번째 명령 ('command1')의 성공 여부에 상관없이 두 번째 명령 ('command2')을 실행합니다.
- 예를 들어, 'mkdir /newdir; cd /newdir'은 '/newdir' 디렉토리 생성에 성공 여부와 관계없이 'cd /newdir' 명령을 실행합니다. '/newdir' 생성에 실패하면 'cd /newdir' 명령은 오류가 발생합니다.
예시
세미콜론 (';') 사용 예시
echo "Hello"; echo "World"
- 출력:
Hello
World
앤드 연산자 ('&&') 사용 예시
echo "Hello" && echo "World"
- 출력:
Hello
World
false && echo "This won't be printed"
- 출력:
(아무 것도 출력되지 않음)
'sync;sync;sync' 예시
sync;sync;sync
- 이 명령은 'sync' 명령을 세 번 실행합니다. 각 명령의 성공 여부와 관계없이 순차적으로 실행됩니다.
따라서, 'sync;sync;sync;' 명령은 'sync' 명령을 세 번 실행하며, 이는 각 명령이 완료된 후 다음 명령이 실행되는 방식입니다.