У меня странная ситуация, когда я использую zsh full-time, и любые скрипты bash, которые я запускаю, не правильно выбирают переменные среды. Очевидно, я не ожидаю, что bash заберет env vars, которые определены в среде zsh, поэтому я am с использованием ~/.bashrc
и ~/.bash_profile
, но это тоже не сработает.сценарий bash не подбирает переменные окружения
Например, вот тестовый скрипт:
#!/bin/bash
echo $MYTEST
Я добавил эту линию как ~/.bashrc
и ~/.bash_profile
, чтобы покрыть мои базы:
export MYTEST="hello"
Я просто пустую строку при запуске сценарий.
PS: Я знаю, что работает . ./testscript
будет работать, но это не вариант, поскольку это системный скрипт, который не вытягивает env vars.
Скрипты системного запуска не запускают ваши файлы инициализации, специфичные для пользователя. –
Тогда почему 'bash -c 'echo $ LESS'' показывает мои' less' опции? Но другие вары не работают? – ffxsam
Ручной запуск 'bash -c' из вашей сессии оболочки не является системным сценарием. Это все еще работает, как вы. Но если у вас есть переменные в '.bashrc'/etc. файлы, которые не работают таким образом (в то время как 'LESS'), то что-то о ваших файлах инициализации неверно (или вы не используете' .bashrc'/'.bash_profile' правильно). –