요구 사항은 다음과 같습니다bash는 자식 프로세스를 정지하기 전에 값을 얻을 수있는 방법
- 자식 프로세스는 값, IP 주소를 반환합니다, 그것은
- 하지만 자식 프로세스가 어쩌면 중단 wget과 방법을 사용합니다.
- 상위 프로세스가 하위 프로세스를 대기시킬 수 없으므로 몇 초 후에 반환 값이 필요합니다.
가능한 스크립트입니다
parent.sh :
./child.sh &
sleep 60
echo child_return_value
child.sh : 내가 -T 사용하는 것이
child_return_value=$(wget ipaddress)
감사하지만, exec만이 스크립트가 아닌 쉘에서 실행되는 것처럼 보입니다. 어떻게 완화시킬 수 있습니까? – netawater
스크립트는 쉘 명령 파일입니다. 스크립트를 실행할 때 쉘은 쉘 프롬프트에서 사람이 입력 한 것처럼 각 행을 읽고 명령을 실행합니다. 'exec'는 대화식으로 (즉, 쉘 프롬프트에서) 그리고 스크립트에서 모두 작동해야합니다. 어떤 오류가보고 있습니까? – bgoldst
./get_current_ip.sh : 9 행 : 예상치 못한 토큰 근처에서 구문 오류가 발생했습니다. < ./get_current_ip.sh : 줄 9 :'exec 3 <(wget -q -O - "http : //checkip.dyndns. co.kr/"); ' 하지만 쉘에서이 줄을 실행해도 좋습니다. – netawater