Выполнить команду
Выполняет указанную команду
- Параметры
- Расширенный вызов ?
Функция ВыполнитьКоманду(Знач Соединение, Знач Команда) Экспорт
| Параметр | CLI опция | Тип | Обяз. | Назначение |
|---|---|---|---|---|
| Соединение | --conn | Произвольный | ✔ | Существующее соединение или конфигурация соединения |
| Команда | --comm | Строка | ✔ | Текст команды |
Возвращаемое значение
Соответствие Из КлючИЗначение - Результат обработки
| Параметр | Описание |
|---|---|
| dontwait | Создает фоновое задание и возвращает его данные (только для 1С и OneScript) |
Пример использования для 1С:Предприятие/OneScript
Хост = "172.33.0.13";
Порт = "2222";
ИспользоватьПрокси = Истина;
НастройкиПрокси = Неопределено;
ВидАвторизации = "По логину и паролю";
Если ВидАвторизации = "По логину и паролю" Тогда
Логин = "bayselonarrend";
Пароль = "12we...";
НастройкиSSH = OPI_SSH.ПолучитьНастройкиЛогинПароль(Хост, Порт, Логин, Пароль);
ИначеЕсли ВидАвторизации = "По ключу" Тогда
Логин = "bayselonarrend";
ПриватныйКлюч = "./ssh_key";
ПубличныйКлюч = "./ssh_key.pub";
НастройкиSSH = OPI_SSH.ПолучитьНастройкиПриватныйКлюч(Хост, Порт, Логин, ПриватныйКлюч, ПубличныйКлюч);
ИначеЕсли ВидАвторизации = "Keyboard interactive" Тогда
Логин = "bayselonarrend";
Пароль = "12we...";
МассивОтветов = Новый Массив;
МассивОтветов.Добавить(Пароль);
НастройкиSSH = OPI_SSH.ПолучитьНастройкиKI(Хост, Порт, Логин, МассивОтветов);
Иначе
Логин = "bayselonarrend";
НастройкиSSH = OPI_SSH.ПолучитьНастройкиЧерезАгента(Хост, Порт, Логин);
КонецЕсли;
Если ИспользоватьПрокси Тогда
ТипПрокси = "http"; // http, socks5, socks4
АдресПрокси = "127.0.0.1";
ПортПрокси = "8071";
ЛогинПрокси = "proxyuser";
ПарольПрокси = "12we...";
НастройкиПрокси = OPI_SSH.ПолучитьНастройкиПрокси(АдресПрокси, ПортПрокси, ТипПрокси, ЛогинПрокси, ПарольПрокси);
КонецЕсли;
Соединение = OPI_SSH.ОткрытьСоединение(НастройкиSSH, НастройкиПрокси);
Если OPI_SSH.ЭтоКоннектор(Соединение) Тогда
Результат = OPI_SSH.ВыполнитьКоманду(Соединение, "whoami");
Иначе
Результат = Соединение; // Ошибка соединения
КонецЕсли;
- Bash
- CMD/Bat
# JSON данные также могут быть переданы как путь к файлу .json
oint ssh ВыполнитьКоманду \
--conn "{'set':{'auth_type':'keyboard_interactive','host':'172.33.0.34','port':'2223','username':'bayselonarrend','keyboard_responses':['12we3456!2154']},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" \
--comm "whoami"
:: JSON данные также могут быть переданы как путь к файлу .json
oint ssh ВыполнитьКоманду ^
--conn "{'set':{'auth_type':'keyboard_interactive','host':'172.33.0.34','port':'2223','username':'bayselonarrend','keyboard_responses':['12we3456!2154']},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" ^
--comm "whoami"
Результат
{
"exit_code": "0",
"result": true,
"stderr": "",
"stdout": "bayselonarrend",
"close_connection": {
"result": true
}
}