Linux как ждать удаленного pid (telnet) - PullRequest
2 голосов
/ 05 марта 2011

Запустив «удаленную» оболочку через telnet (на удаленном сервере нет ssh), мне нужно дождаться, пока удаленная оболочка не отправит сообщение о закрытии соединения, ввод / вывод «sleep».

.my_local_shell |telnet

#!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 Ответ

1 голос
/ 05 марта 2011

Вам нужно уйти от знака доллара.

echo "wait \$!"

или

echo 'wait $!'

Как у вас сейчас, специальная переменная раскрывается в локальной оболочке. Экранируя его, расширение задерживается для выполнения удаленной оболочки.

...