web-dev-qa-db-fra.com

Ajout du chemin d'accès à la variable d'environnement PATH à l'aide du script bash dans / etc / environment

J'ai besoin d'ajouter le chemin de mon application exécutable à la variable d'environnement PATH. Comme je dois ajouter un chemin lors de l’installation du paquet .deb, je dois utiliser script postinst dans le paquet debian. Après avoir lu documentation officielle Ubunt et question Askubunt , j'ai décidé d'utiliser le fichier /etc/environment pour ajouter le chemin de mon application en raison de l'accès de l'ensemble du système. Voici mon script bash:

#! /bin/bash

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

et voici /etc/environment contenu après l'exécution du script postinst bash:

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

Maintenant, quand je me déconnecte et que je tente de me connecter, je suis resté bloqué dans la boucle de connexion!

Mise à jour 1:

J'ai testé l'approche pour .profile dans le répertoire Home et ça fonctionne bien! Mais je dois ajouter le chemin pour tous les utilisateurs, donc je dois utiliser le fichier /etc/environment.

1

Veuillez éviter de modifier les fichiers système. Au lieu de cela, vous devez placer un script exécutable dans /etc/profile.d (les scripts ici exécutés pour chaque utilisateur) pour modifier la valeur $PATH.

/etc/profile.d/10-<package name>.sh

#!/bin/sh
export PATH=$PATH:/path/to/executable
4
Arch user