Fügen Sie global für jeden Benutzer einen Pfad in $ PATH hinzu

21

Müssen wir trotzdem einen Pfad global hinzufügen, damit jeder Benutzer ihn in $ PATH erhält? Ich möchte den Pfad von ANT hinzufügen, damit nicht jeder Benutzer ihn in seine Variable $ PATH einfügen muss.

Ahmad
quelle
1
Wenn Sie beabsichtigen, dass Benutzer eine bestimmte Shell ausführen, z. B. bash, können Sie die exportZeile so hinzufügen , /etc/bashrcwie sie systemweit gelesen wird.
MKC

Antworten:

24

Globale Pfade sollten in /etc/profileoder gesetzt /etc/environmentwerden. Fügen Sie einfach diese Zeile hinzu zu /etc/profile:

PATH=$PATH:/path/to/ANT/bin
terdon
quelle
7

Viele Linux-Distributionen unterstützen das Linux Standard Base- /etc/profile.dVerzeichnis, in dem Konfigurationen wie zusätzliche Pfadanweisungen gespeichert werden können, ohne die Standardsystemdateien zu berühren. Der Dateiname benötigt nur die Erweiterung .sh.

Beispielsweise

cat >> /etc/profile.d/some_name.sh << \EOF
  PATH=$PATH:/path/to/ANT/bin
EOF
NoelProf
quelle
4
Das OP hat es allerdings mit [AIX] markiert ...
Jeff Schaller
-1

Bearbeiten Sie / etc / profile und aktualisieren Sie den Abschnitt zur Pfadbearbeitung. Centos fügt das Verzeichnis / usr / local / bin nicht in den Pfad ein.

# Path manipulation
if [ "$EUID" = "0" ]; then
    pathmunge /usr/sbin
    pathmunge /usr/local/sbin
    pathmunge /usr/local/bin
else
    pathmunge /usr/local/bin after
    pathmunge /usr/local/sbin after
    pathmunge /usr/sbin after
fi
cwill
quelle
2
Es sieht so aus, als würde Ihr Code bashverwendet. Beachten Sie auch das aix- Tag in der Frage. Dieser Benutzer verwendet CentOS nicht.
Kusalananda