오뚝이개발자

[리눅스] nohup으로 실행하는 파일에 input 값 주기 본문

리눅스

[리눅스] nohup으로 실행하는 파일에 input 값 주기

땅어 2020. 11. 2. 13:53
728x90
300x250

 

nohup을 사용해 백그라운드에서 프로그램을 돌려둘 때가 있다. 이럴 때 해당 프로그램을 커맨드 창에서 실행시키면서 input 아규먼트를 여러 개 주고자 할 때는 어떻게 해야할까? 가령 main.sh라는 파일을 nohup을 사용해 백그라운드로 실행시키려고 하는데 해당 파일을 실행시키면 아래와 같이 두 개의 질문에 대한 옵션을 선택해야 한다고 가정해보자.

Q. 실행시키려는 대상 파일의 년도는?
    1. 2020년대
    2. 2010년대
    3. 2000년대
    4. 그 이전
Q. 실행시키려는 대상 파일의 형식은 무엇으로 할까요?
    1. json
    2. txt
    3. py

이 때, 만약 사용자가 2020년대 파일의 json을 선택하고자 한다면 nohup을 사용해 어떻게 실행 커맨드를 주어야 할까? 바로 다음과 같이 하면 된다.

(echo 1 1 | nohup sh main.sh) &

단, 이 때 주의해야 할 점은 nohup으로 아규먼트를 주고 그것들을 한 번에 받기 위해 sh 파일에서 여러 아규먼트들을 시작부분에 한 번에 받을 수 있도록 코드를 구현해야 한다. 그러니 기본 실행을 할 sh 파일과 별도로 nohup용으로 실행시킬 sh 파일을 만들어두어야 한다.

728x90
300x250
Comments