#powershell #putty
Я запустил putty через PowerShell: &'C:\test\dev.lnk' - это точнее ссылка на дев сервер, открываемая через putty. В открытом окне мне надо написать путь к скриптам: cd script. Возможно ли как-то написать этот путь через powershell, а затем и запустить скрипты? Т.е. как с помощью PowerShell мне писать что-либо в открытом ранее окне?
Ответы
Ответ 1
для автоматизации выполнения фиксированного набора команд в unix-подобных операционных системах можете поступить так: впишите все команды в файл с произвольным именем (в именах файлов лучше избегать пробелов и других спец-символов, ограничьтесь латинскими буквами в нижнем регистре, арабскими цифрами, точкой, минусом и знаком подчёркивания) — по одной команде на строку: команда1 команда2 команда3 поместите этот файл в каталог, например, /usr/local/bin/: обычно он перечислен в переменной окружения PATH, поэтому помещённые в него файлы можно запускать откуда угодно по их именам. присвойте файлу бит исполнимости: chmod +x /usr/local/bin/moj.nabor.comand.nomer.raz запускайте этот файл по имени: moj.nabor.komand.nomer.raz оговорка если у вас нет прав для записи в каталог /usr/local/bin/, поместите файл в свой домашний каталог, и сразу после логина запускайте его так: sh moj.nabor.komand.nomer.razОтвет 2
Как вариант, можно использовать связку из pscp, чтобы положить скрипты на сервер, затем plink, чтобы выполнить на сервере команду. Но в таком случае мне не очень понятен смысл использования PowerShell - вполне можно обойтись банальным BATCH скриптом. Обе утилиты идут в комплекте с PuTTY. Пример скрипта на PowerShell с использованием pscp и plink: $PuTTYPath = "C:\Program Files (x86)\PuTTY" $User = 'administrator' $Pass = Read-Host 'Password' -AsSecureString | ConvertFrom-SecureString $HostName = 'ubuntu-test' # Кладём скрипт на сервер; обязательно с флагом -Wait, чтобы скрипт дождался загрузки файлов Start-Process -FilePath "$PuTTYPath\pscp.exe" ` -ArgumentList "-pw $Pass D:\Soft\Ubuntu\*.sh $User@$HostName`:/home/administrator" -Wait # Запускаем скрипты (предполагаем, что нам не важен порядок запуска) Start-Process -FilePath "$PuTTYPath\plink.exe" ` -ArgumentList "-ssh -pw $Pass $User@$HostName cd /home/administrator/ && chmod +x *.sh && ./*.sh"
Комментариев нет:
Отправить комментарий