하나의 명령으로 백그라운드에서 여러 프로그램을 실행하는 방법은 무엇입니까?

하나의 명령으로 백그라운드에서 여러 프로그램을 실행하는 방법은 무엇입니까?

하나의 명령으로 백그라운드에서 여러 프로그램을 실행하는 방법은 무엇입니까?

다음 명령을 시도했지만 작동하지 않습니다.

nohup ./script1.sh & && nohup ./script2.sh &
-bash: syntax error near unexpected token '&&'

nohup ./script1.sh & ; nohup ./script2.sh &
-bash: syntax error near unexpected token ';'

답변1

쉘 구문 관점에서 보면 &/ / ...와 같은 명령을 구분합니다(물론 의미론은 다르지만). 그래서 이것은 단지:;|&&

cmd1 & cmd2 & cmd3 &

답변2

bash 맨페이지 섹션의 제목은 다음과 같습니다.복합 명령사용 가능한 옵션에는 list 명령과 group 명령의 두 가지가 있습니다.

그룹 명령은 중괄호로 묶인 일련의 명령입니다 {}. 목록은 동일하며 괄호로 묶입니다 (). 둘 다 여러 명령을 배경으로 설정하고 마지막으로 전체 컬렉션을 하나로 설정하는 데 사용할 수 있습니다. 목록 구성은 서브셸에서 명령을 실행하므로 변수 할당이 유지되지 않습니다.

일련의 명령을 실행합니다.

{ command1 & command2 & } &

목록(서브셸)에서 명령을 실행할 수도 있습니다.

( command1 & command2 ) &

답변3

다른 방법:

$(command1 &) && command2 & 

관련 정보