2013-10-15 2 views
0

번호가 없습니다. 백그라운드 프로세스로 파일에 라인 백그라운드 프로세스에 의해 반환 된 값 저장 [종료 상태가 아님]

counting="wc -l < abc.xyz" 
`$counting` 
echo $counting 

즉 전경 계산,

counting="wc -l < abc.xyz" & 
`$counting` 
counting_process_id=$! 
wait $counting_process_id 
echo $counting 

이 단지 $ 빈은

내가 할

를 계산 반환 (I 병렬 실행이 필요합니다) . 적절한 값을 반환합니다.

그래서이 변수는 부모 셸에서 액세스 할 수없는 자식 변수와 관련이 있다고 생각하십니까? (그리고 일부 답변은 IPC를 제안합니다) 다른 방법으로이 문제를 해결할 수 있습니까?

답변

3

그래서이 변수는 부모 변수 쉘에서 액세스 할 수없는 자식 변수와 관련이 있다고 생각하십니까?

확실히 맞습니다.

한 가지 방법은 그것에서 임시 파일을 사용하고 읽을 것 :

outfile=$(mktemp) 
(wc -l < abc.xyz) > "${outfile}" & 
wait 
echo $(<$outfile) 
+0

+1 죄송 이미 비슷한 대답을 게시했다 몰랐어요 :) – anubhava

관련 문제