Ошибка при запуске сценария запуска: переменная домашней среды не установлена ​​в экземпляре redhat, запущенном на GCP

У меня возникнут проблемы с пониманием среды оболочки, которая используется для запуска сценариев запуска. Какая разница с сеансом входа в систему?

Если я установлю простой сценарий запуска для печати переменных env:

метаданные
Предметы: - ключ: сценарий запуска значение: 'printenv;'

У меня будет что-то вроде этого: ​​20 февраля, 15:16:19 xxxx сценарий запуска [1112]: сценарий запуска INFO: OLDPWD = / 20 февраля 15:16:19 xxxx сценарий запуска [1112]: сценарий запуска INFO: ПУТЬ = / usr / local / sbin: / usr / local / bin: / usr / 20 февраля, 15:16:19 xxxx сценарий запуска [1112]: сценарий запуска INFO: PWD = / opt 20 февраля, 15:16:19 xxxx сценарий запуска [1112]: сценарий запуска INFO: LANG = en_US.UTF-8 20 февраля, 15:16:19 xxxx сценарий запуска [1112]: сценарий запуска INFO: SHLVL = 2 20 февраля, 15:16:19 gceeuw1lin0003 startup-script [1112]: INFO startup-script: _ = / usr / bin / printenv

И если я выполню команду printenv в сеансе ssh, я смогу увидеть намного больше переменных, таких как HOSTNAME , HOME, SHELL ... и т. Д.

Я пытаюсь установить программное обеспечение при запуске (проприетарное программное обеспечение), но это не удается из-за переменной $ HOME.

Could not expand the path using $HOME

Я попытался настроить HOME varibale в сценарии запуска непосредственно перед установкой программного обеспечения, но он не сказал:

invalid command name "wm"

Когда я пробую ту же установку с использованием интерактивной оболочки, все работает нормально! Более того, это работает, даже если я принудительно перезапускаю сценарий запуска из моего интерактивного сеанса с помощью этой команды:

sudo google_metadata_script_runner --script-type startup --debug

Я ищу логическое объяснение тому, что происходит? почему он работает из интерактивной оболочки, а не из сценария запуска?

Есть идеи, как это исправить?

Заранее спасибо!

0
задан 20 February 2019 в 18:03
1 ответ

Вы пробовали запустить сценарий запуска на вкладке автоматизации? Я вижу, что обычно не используются для этого, пожалуйста, проверьте документацию сценария запуска GCE , чтобы убедиться, что вы используете правильный сценарий, например:

#! /bin/bash
printenv
0
ответ дан 24 November 2019 в 00:51

Теги

Похожие вопросы