Я пытаюсь автоматизировать несколько общих задач, которые я SSH в удаленный сервер, чтобы сделать. Для этого я использую PuTTY и его опцию "удаленная команда" (соединение > SSH) в нескольких сохраненных сеансах. Моя удаленная команда выглядит примерно так:
~/scripts/test; $SHELL -l
сценарий, выполняемый отличается за сохраненный сеанс и выполняет различные задачи. $SHELL -l
сохраняет сеанс PuTTY активным после завершения выполнения скрипта.
все это отлично работает для большинства скриптов я бегущий. Однако у меня есть тот, который использует цикл while для выполнения серии команд до тех пор, пока он не завершится Ctrl+C. сценарий запускается нормально, но оболочка PuTTY не остается активной после его завершения. $SHELL -l
не выполняется.
пример скрипта с таким поведением выглядит следующим образом:
while true; do
echo "."
sleep 2
done
следующие работы отлично выполняются вручную, я вижу ожидаемый результат от второй команды:
~/scripts/test; echo "done"
впрочем, второе команда шпатлевки "удаленная команда" не выполняется. Действительно, если я изменю удаленную команду на echo
, он не отображается.
~/scripts/test; echo "done"; $SHELL -l
Итак, я думаю, мой вопрос: почему вторая команда в списке не выполняется удаленной командой, в то время как она выполняется вручную? И, что более важно, что я могу поделать?
если это актуально, я запускаю PuTTY на Ubuntu 14.04.