2013-12-15 6 views
0

나는 사용자에게 예를 들어 질문을 입력하라는 #!/bin/sh 스크립트가 있습니다. 첫 번째 스크립트를 시작하고 정적 응답을 보내는 또 다른 #!/bin/sh 스크립트가 필요합니다. 한 스크립트의 응답을 다른 스크립트로 보내고 질문에 답하는 방법은 무엇입니까?다른 스크립트를 실행하는 스크립트

감사합니다.

+0

다른 스크립트에서 sh scipt를 호출하는 것은 프롬프트에서 스크립트를 호출하는 것과 같습니다. 어쩌면 내가 누락되었거나 질문/요구 사항을 개선해야합니다. – user2196728

+0

스크립트가 필요합니다. 그것의 입력에 따라. – michael501

답변

0

테스트 할 스크립트가 표준 입력을 읽으면이를 사용하십시오.

for input in 1 2 17 42 63 -1 0 1234568890; do 
    echo "$input" | ./otherscript 
done 

아니면 otherscript 이미 (출구 조건으로 빈 입력으로 말하자면) 입력 루프를 실행하는 경우, 그것을 여기에 문서 공급 : 당신이 입력 다중 값이 필요한 경우

./otherscript <<HERE 
1 
2 
17 
42 
63 
-1 
0 
1234567890 

HERE 

을 각 실행, 당신은 두 가지를 결합 할 수 있습니다;

while read age name color; do 
    (echo "$age"; echo "$name"; echo "$color") | ./otherscript 
done <<HERE 
1 Baby white 
2 Sister yellow 
17 Teen black 
42 Dad mauve 
63 Grandpa chartreuse 
0 Piglet pink 
-1 Prince purple 
1234567890 Ghod rainbowey 
HERE 

유닉스 도구는 명령 줄에서 매개 변수를 읽을 수 있도록 설계되어 있습니다. 이것은 더 나은 디자인 인 많은 이유 중 하나입니다.

0

은 이제 입력을 요구 스크립트를 부르 자, userage.sh 및

당신이 userage.sh은, 사용자 프롬프트없이 입력을 받아 그것을 다시 실행하려면 호출하는 스크립트의 caller.sh 때문에 인수가없는 경우 즉, 인수가있는 경우 인수를 입력으로 사용하십시오.

관련 문제