Centos7 неинтерактивный не входящий в систему источник оболочки / etc / profile от cron - PullRequest
0 голосов
/ 28 апреля 2018

Я знаю, что этот вопрос задавался тысячи раз раньше, и, рискуя быть воспламененным, я все еще пытаюсь понять, как сделать так, чтобы и задачи cron, и сценарии cloud-init читали сценарии .sh в разделе /etc/profile.d

По данным /etc/profile файла

Это не хорошая идея, чтобы изменить этот файл, если вы не знаете, что вы делают. Гораздо лучше создать скрипт оболочки custom.sh в /etc/profile.d/ для внесения пользовательских изменений в вашу среду, так как это предотвратит необходимость слияния в будущих обновлениях.

Итак, я поместил скрипт внутри /etc/profile.d/myVars.sh

export myVar="myFolder"

При использовании интерактивных сценариев работает как положено, все сценарии могут читать myVar

Я сейчас создал задачу cron для перезагрузки

@reboot ec2-user /home/myScript.sh

И этот скрипт ссылается ${myVar}. Однако myVar никогда не читается, так как кажется, что папка /etc/profile.d не читается задачей cron даже при установленном ec2-user.

/home/myScript.sh
myvariable=$(whoami) --> reports as ec2-user

Неправильно ли ожидать чтения файлов в /etc/profile.d при вызове через cron? Я также отмечаю, что использование ec2 use-data также не работает при вызове с sudo -u ec2-user /home/myScript.sh

Как настроить неинтерактивные не входящие в систему оболочки для чтения из profile.d?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...