Search

리눅스(Linux) - 연속적으로 명령 실행시키기 (;과 &와 &&의 차이)

Created at
2019/02/27
Updated at
2021/02/21
Tags
Keywords
Linux 기초
3 more properties
생활코딩 생활코딩 리눅스 강좌 내용을 들으면서 정리하는 노트
강의 듣기 (같은 강의이니 편한 곳을 선택해서 공부하면 된다!)

1. ;: 성공여부와 상관없이 다음 명령어 실행

$ mkdir test; cd test: test 디렉토리를 만든 후 test 디렉토리로 이동

2. &&: 성공한 경우에 다음 명령어 실행

앞의 명령어가 실행되어 성공한 경우에 다음 명령어 실행
$ mkdir test && cd test: test 디렉토리를 만든 후 test 디렉토리로 이동

3. &: 명령어를 백그라운드로 동작시킬 때 사용

mkdir test & cd test
결과: 에러 (test 디렉토리를 백그라운드로 생성함과 동시에 test 디렉토리로 이동하려고 했기 때문에 cd test는 존재하지 않는 디렉토리로 진입하려고 시도한 것. 한편 test 디렉토리는 생성됨)
[1] 19989 cd: no such file or directory: test [1] + 19989 done       mkdir test
Plain Text
복사

4. {}: 명령어의 그룹핑

mkdir test3 && { cd test3; touch abc; echo 'success!!' } || echo 'There is no dir'
mkdir test3 성공시 cd test2; touch abc를 실행하고 success!!를 출력
mkdir test3 실패시 echo 'There is no dir' 실행
참고자료