[linux] 한 줄에 여러 개의 리눅스 명령을 결합하여 실행하십시오.


3 Answers

나는 그것을 사용하여 발견했습니다; 명령을 분리하려면 전경에서만 작동합니다. 예 :

cmd1; cmd2; cmd3 & cmd1; cmd2; cmd3 & - 백그라운드에서 cmd3 만 실행하는 반면 cmd1 && cmd2 && cmd3 & - 오류가없는 경우 백그라운드에서 전체 체인을 실행합니다.

무조건 실행을 처리하려면 괄호를 사용하여 다음을 해결합니다.

(cmd1; cmd2; cmd3) & - 어떤 단계가 실패하더라도 (cmd1; cmd2; cmd3) & - 백그라운드에서 명령 체인을 실행합니다.

Question

한 줄에 여러 리눅스 명령을 병합하여 배포 작업을 수행하려고합니다. 예를 들어

cd /my_folder
rm *.jar
svn co path to repo
mvn compile package install



한번에 모두 실행하려면 파이프 라인 키 "|"를 사용할 수 있습니다. 이렇게 :

$ cd /my_folder | rm *.jar | svn co path to repo | mvn compile package install



이전 명령의 실행 여부와 관계없이 모든 명령을 실행하려면 세미콜론 (;)을 사용하여 명령을 구분할 수 있습니다.

cd /my_folder; rm *.jar; svn co path to repo; mvn compile package install

이전 명령이 성공한 경우에만 다음 명령을 실행하려면 &&를 사용하여 명령을 분리하십시오.

cd /my_folder && rm *.jar && svn co path to repo && mvn compile package install

귀하의 경우, 연속 된 명령의 실행은 이전 명령에 의존하는 것으로 보이므로 두 번째 예를 사용하여 &&를 사용하여 명령을 결합하십시오.




다음 코드로 사용할 수 있습니다.

cd /my_folder && \
rm *.jar && \
svn co path to repo && \
mvn compile package install

그것은 작동 ...



Related