Bash 기초 -- 순서 집행 명령
순서 구조
쓰다구 분 된 순서 구조
$ command1;command2
으로분 리 된 명령 을 순서대로 집행 하 다.Shell 은 모든 명령 이 종 료 될 때 까지 순서대로 기다 릴 것 입 니 다. 즉, 모든 명령 이 자신의 subshell 에서 실 행 됩 니 다.셸 은 이전 명령 이 실 행 된 후에 다음 명령 을 실행 합 니 다. 이전 명령 의 exit status 가 얼마 든 간 에.return status 는 마지막 으로 실 행 된 명령 의 exit status 입 니 다.
;줄 바 꿈 문자 로 대체 할 수 있 고 여러 줄 바 꿈 문자 로 대체 할 수 있 습 니 다.그러나 여러 개의 줄 바 꿈 부 호 는 한 개 에 만 해당 합 니 다.즉, 다음 과 같은 형식 으로 위의 구조 와 등가 이다.
command1
command2
command1
command2
아래 의 구조 도 합 법 적 이 고 효과 도 같다.하지만 여기구분자 가 아 닌 comand 1 의 종지부 역할 을 합 니 다.
command1;
command2
그래서 아래 구조 에 문법 오류 가 있 습 니 다.
command1
; # syntax error near unexpected token `;'
command2
& 비동기 명령
& 명령 의 종지부 로 도 사용 할 수 있 고 명령 시퀀스 의 구분자 로 도 사용 할 수 있 습 니 다.
$ command&
Shell 은 subshell 에서 명령 을 비동기 로 실행 합 니 다.pipeline 에서 셸 명령 은 자신의 subshell 에서 실 행 됩 니 다. 자신의 PID 가 있다 는 점 에서 비동기 실행 명령 과 동기 실행 명령 은 같 습 니 다.비동기 실행 의 차이 점 은 셸 이 명령 이 완 료 될 때 까지 기다 리 지 않 고 바로 돌아 오 는 것 입 니 다. return status 는 0 입 니 다. 명령 은 배경 에서 실 행 됩 니 다.
구분자 로 삼다
command1&command2
셸 은 command 1 을 먼저 실행 하지만 command 1 의 완성 을 기다 리 지 않 고 command 2 를 즉시 실행 합 니 다.따라서 command 1 이 command 2 보다 먼저 실행 되 지만 command 1 이 반드시 command 2 보다 먼저 완성 되 는 것 은 아니다.이 구조 에서 셸 은 command 2 에 대한 실행 을 동기 화 합 니 다.그래서 전체 구조의 return status 는 command 2 에 의 해 결정 된다.
구분자
command1&command2&
셸 은 command 1 을 먼저 실행 하지만 command 1 의 완성 을 기다 리 지 않 고 command 2 를 즉시 실행 합 니 다. 셸 은 command 2 에 대한 실행 도 비동기 입 니 다.전체 구조의 return status 는 0. command 1 이 command 2 보다 먼저 실행 되 지만 완 성 된 우선 순 서 는 확실 하지 않 습 니 다.
논리
& & 와 | | | 의 역할 과;구분 순서 로 실행 되 는 명령 과 유사 하 며, 시퀀스 에 있 는 명령 은 모두 동기 화 되 어 실 행 됩 니 다.그리고다른 것 은분 리 된 명령 은 이전 실행 결과 와 상 관 없 이 다음 명령 이 실 행 됩 니 다.그리고
command1 && command2
command 1 의 exit status 가 0 일 때 만 command 2 를 실행 합 니 다.
command1 || command2
command 1 의 exit status 가 0 이 아 닐 때 만 command 2 를 실행 합 니 다.
이 두 서열 의 return status 는 마지막 으로 실 행 된 명령 의 exit status 에 의 해 결정 된다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
파일 내용 및 파일 경로의 단수 및 복수 대체 텍스트를 사용하여 원본 파일을 대상에 붙여넣기기본 코드로 많은 수의 파일과 폴더를 복사하고 파일 내부의 여러 줄과 파일 및 폴더의 이름을 바꿔야 하는 경우가 많으며 시간이 많이 걸립니다😢. 이 문제를 해결하기 위해 나를 위해 할 수 있는 유틸리티를 작성했습니다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.