2013-10-19 2 views
2

쉘 스크립트를 실행하여 jeykll -w servesass --watch style.scss:style.css을 만들려고하므로 로컬에서 개발할 때마다 걱정할 필요가 없습니다. 그래서 쉘 스크립트를 만들었지 만 분명히 jekyll 명령을 먼저 입력하면 jekyll 명령이 실행될 때까지는 sass 명령을 실행하지 않습니다. 그러면 한 번에 두 개의 명령을 어떻게 실행할 수 있습니까? 터미널에서 다른 탭을 열고 sass를 실행하라는 명령을 내려야합니까? 그것을하는 더 좋은 방법이 있어야합니다.쉘 스크립트에서 두 개의 명령을 동시에 실행하는 방법은 무엇입니까?

+1

단일 스크립트에서 앰퍼샌드 '&'로 끝나는 백그라운드에서 실행할 수 있습니다. – lurker

답변

4

현재 쉘이 명령을 기다리지 않도록 프로세스를 포크하려고합니다.

jeykll -w serve && sass --watch style.scss:style.css 

다음은 첫 번째 명령은 비 ERRORED 상태

jeykll -w serve ; sass --watch style.scss:style.css 

위의 내용 완료하고 종료 상태를 무시하는 첫 번째 명령을 기다립니다으로 완료 될 때까지 위 기다립니다.

그래서 제대로 이해하면 여러 명령이 동시에 거의 실행되기를 원할 것입니다. 이를 위해 명령 참조의 끝에 & 연산자를 사용합니다.

Bash & (앰퍼샌드)은 프로세스를 포크하는 데 사용되는 기본 제어 연산자입니다. Bash man 페이지에서 "명령어가 제어 연산자 &에 의해 종료되면 쉘은 서브 쉘의 백그라운드에서 명령을 실행합니다".

jeykll -w serve & 
sass --watch style.scss:style.css & 
관련 문제