Добавление пути к переменной среды PATH с помощью сценария bash в /etc/environment [duplicate]

На этот вопрос уже есть ответ здесь:

Мне нужно добавить путь к исполняемому приложению в переменную среды PATH. Поскольку мне нужно добавить путь во время установки .deb пакета, я должен использовать postinst скрипт в пакете debian. После прочтения официальной документации Ubuntu и вопроса Askubuntu я решил использовать /etc/environment файл для добавления пути к моему приложению из-за доступа пользователей всей системы. Вот мой bash скрипт:

#! /bin/bash

cd ~
echo 'PATH="$PATH:/path/to/my/bin"' >> /etc/environment

и вот содержимое /etc/environment после выполнения bash скрипта postinst:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
PATH="$PATH:/path/to/my/bin"

Теперь когда я выхожу из системы и пытаюсь войти, я застреваю в цикле входа!

Обновление 1:

Я протестировал подход для .profile в домашнем каталоге, и он работает отлично! Но мне нужно добавить путь для всех пользователей, поэтому я должен использовать /etc/environment файл.

2
задан 13 April 2017 в 15:25

1 ответ

Избегайте modifing системных файлов. Вместо этого необходимо поместить исполняемый сценарий в /etc/profile.d (сценарии в здесь выполнялись для каждого пользователя) измениться $PATH значение.

/etc/profile.d/10-<package name>.sh
<час>
#!/bin/sh
export PATH=$PATH:/path/to/executable
4
ответ дан 2 December 2019 в 02:21

Другие вопросы по тегам:

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