2012-01-19 1 views
1

Мне нужно иметь возможность запускать команду командной строки из моего скрипта perl, и я хочу, чтобы пользователь мог взаимодействовать с ним, как обычно.Запуск команды оболочки из perl и разрешения взаимодействия

Например, сценарий я хочу запустить, ssh [email protected]$box '. ./.profile 1>/dev/null 2>&1 && AnotherScript.pl'
Я хочу, чтобы пользователь мог взаимодействовать и видеть команду SSH так же, как если бы он/она выполняется сами. Меня не волнует, что происходит во время команды, я просто хочу, чтобы выполнение прошло обратно к моему скрипту perl, когда оно закончено.

ответ

3
system 'ssh', "$user\@$box", '. ./.profile 1>/dev/null 2>&1 && AnotherScript.pl'; 

См http://perldoc.perl.org/functions/system.html подробности о встроенной system функции.

+0

Я заинтересован в том, чтобы позволить моему пользователю взаимодействовать с shh и командой, которую он выполняет. Я хочу скрыть sourcing .profile от пользователя, потому что это не важно, однако AnotherScript.pl важен. – Malfist

+0

@ Малфист: Да, извините, я неправильно понял. Вы оставили свой комментарий правильно, поскольку я исправлял свой ответ. :-) – ruakh

Смежные вопросы