Antworten:
Der erste Ort, an dem PATH gesetzt wird, ist /etc/login.defs
. Es gibt eine Einstellung für root und eine Einstellung für alle anderen.
Ein weiterer Ort, an dem Sie Umgebungsvariablen definieren können, ist /etc/environment
. Diese Einstellungen gelten für alle (Sie können dort keinen beliebigen Shell-Code schreiben).
Eine dritte Stelle, an der Sie Umgebungsvariablen definieren können, ist /etc/profile
. Dort können Sie beliebigen Shell-Code schreiben. Wenn Sie eine benutzerspezifische Einstellung wünschen, gibt es die entsprechende benutzerspezifische Datei ~www-data/.profile
. Dies gilt jedoch nur für interaktive Konsolenanmeldungen. Insbesondere gilt dies nicht für Cron-Jobs, es sei denn, sie werden ausdrücklich als Quelle angegeben /etc/profile
.
Wenn Sie diese PATH
Einstellung nur in einer Benutzer-Crontab benötigen, können Sie sie am Anfang der Crontab schreiben. Beachten Sie, dass Sie die vollständige Liste ( PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/zend/bin
) benötigen und keine Variablensubstitution verwenden können ( PATH=$PATH:/usr/local/zend/bin
funktioniert dort nicht).
/etc/login.defs
, die ignoriert würden? Ich habe aktualisiert ENV_PATH
und gebe $ PATH zurück, wenn .bashrc geladen wird. Irgendwo in der Mitte wird es entweder geändert oder es wird nicht aktualisiert, da es den alten Wert anzeigt. Ich habe den Computer neu gestartet - so ist es nicht.
PATH
andere Methoden zu ergänzen oder zu ersetzen.
Um einen Pfad für alle Benutzer außer root festzulegen, bearbeiten Sie /etc/profile
oder /etc/enviroment
. Für root oder einen einzelnen Benutzer bearbeiten Sie deren .bashrc
bzw. .bash_profile
in deren Home-Verzeichnissen. Fügen Sie das hinzu PATH=$PATH:/new/location/
.
Um var einfach für alle Benutzer festzulegen, ohne Ihre zu belasten profile
, können Sie Ihr eigenes kleines Skript in ein /etc/profile.d
Verzeichnis wie das folgende einfügen:
echo 'PATH="/usr/local/zend/bin:$PATH"' > /etc/profile.d/zend_path.sh
Dann melde dich neu an.
Nano / etc / profile
Fügen Sie diese Zeile am Ende der Datei hinzu:
export JAVA_HOME = / opt / jdk-12.0.1
export MAVEN_HOME = / opt / apache-maven-3.6.1
export M2_HOME = / opt / apache-maven-3.6.1
exportiere M2 = / opt / apache-maven-3.6.1 / bin
export PATH = $ JAVA_HOME / bin: $ M2: $ PATH
Speicher die Datei. Starten Sie neu oder verwenden Sie den folgenden Befehl:
source / etc / profile
Testen Sie Ihre Einstellungen:
echo $ JAVA_HOME
javac --version