1

Я пытаюсь запустить командный файл Windows из логина SSH. Я успешно установил Cygwin W / OpenSSH на сервере (Windows 2003).

Я могу войти в систему и запустить файл, но файл не работает должным образом, потому что он зависит от переменной среды. Я обнаружил, что по соображениям безопасности не все переменные среды добавляются в оболочку ssh. Я добавил нужную переменную окружения (в ~/.profile), но файл все равно выдает ошибку.
Я изменил файл и вывел на него переменную среды, которая раньше вызывала проблемы, и обнаружил, что она все еще не установлена. Итак, хотя я добавил переменную окружения, и она существует в оболочке, она недоступна в оболочке, в которой запускается пакетный файл.

Как добавить переменную среды в оболочку пакетного файла?
Постоянное изменение файла не вариант; он создан другой программой, и я пытаюсь написать git hook для запуска файла на другом компьютере после "git push"

1 ответ1

3

Вы можете написать небольшой сценарий оболочки, который устанавливает переменную (и) среды и затем запускает пакетный файл. Например:

#!/bin/bash
export VAR1="value of VAR1"
export VAR2="value of VAR2"
./script.bat

В этом примере предполагается, что script.bat находится в текущем рабочем каталоге, и у вас есть разрешение на его выполнение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .