2011-03-05 2 views
2

telnet (원격 서버의 ssh 없음)을 통해 "원격"셸을 실행하면 원격 셸 끝이 연결 종료를 위해 기다려야합니다. I/O "sleep" .리눅스 원격 pid (telnet)를 기다리는 방법

. my_local_shell | 텔넷

#!bin/bash 
# run remote shell 
echo "remote_shell.sh \"required_parameters\"" 
sleep 30 
echo close XX 

는 차라리 같은 필요

# run remote shell 
echo "remote_shell.sh \"required_parameters\" &" 
echo "wait $!" 
echo close XX 

을하지만 원격 pid는 지역의 하나 "혼합"추측으로 나는 그것이 작동 가져올 수 없습니다.

어떻게해야합니까?

답변

1

달러 기호를 이스케이프 처리해야합니다.

echo 'wait $!' 

당신이 지금이 방법

echo "wait \$!" 

또는

는 특별한 변수는 로컬 쉘에서 확장됩니다. 탈출하여 원격 쉘이 확장을 지연시킵니다.

+0

이 설명 (확장)을 위해 thx, 나는 그것을 하나의 원격 프로세스로 $를 벗어날 때 작동 시켰습니다. 요점은 원격 쉘 또한 동일한 pid를 기다리는 아이들을 돌보는 것이고, 거기서 나는 고심하고있다. 그러나 나는 부모/자식 pid를 더 살펴볼 것입니다. 나는 이것 [여기] (http://mywiki.wooledge.org/EnglishFrontPage)에 관해 좋은 기사를 보았다. – hornetbzz