На этот вопрос уже есть ответ здесь:
Я добавил следующую строку в / etc / environment
:
ML="$HOME/ml"
После того, как я повторно вошел в систему, чтобы сценарий вступил в силу, запустив {{ 1}} printenv ML
печатает $ HOME / ml
и работает cd $ ML
печатает
bash: cd: $HOME/ml: No such file or directory
Как правильно установить новую общесистемную переменную пути и иметь возможность использовать его как адрес каталога ярлыков?
/etc/environment
(или пользовательский - $HOME/.pam_environment
) определяется модулем PAM pam_env
и, в свою очередь, используется login
, ssh
и аналогичными программами запуска сеанса для настройки среды запуска для пользователь вошел в систему.
/etc/environment
не понимает какие-либо существующие переменные оболочки (или среды), поэтому $HOME
в вашем случае трактуется буквально, расширение не выполняется, отсюда и ошибка.
Здесь необходимо использовать абсолютные пути, например :
ML="/home/foobar/ml"