Vraag Hoe stel ik omgevingsvariabelen in?


Ik probeer Apache Tomcat op mijn pc op te zetten en wil dat ik hiervoor een omgevingsvariabele installeer CATALINA_HOME. Weet iemand hoe dit te doen?


72
2017-08-03 16:31


oorsprong




antwoorden:


In bash kun je variabelen als deze instellen:

export CATALINA_HOME=/opt/catalina

de meeste andere shells volgen deze conventie, maar niet allemaal. Je kunt het permanent instellen ~/.profile voor bash (en zoals eerder hebben andere shells andere locaties)


73
2017-08-03 16:34



voor sessiebrede variabelen, help.ubuntu.com beveelt ~/.profile als waarschijnlijk het beste bestand voor het plaatsen van omgevingsvariabele-toewijzingen, omdat het automatisch wordt uitgevoerd door de DisplayManager tijdens de desktop-sessie van het opstartproces en door de login-shell wanneer iemand zich aanmeldt vanaf de tekstuele console. - McDowell
Het antwoord bijgewerkt. De reden waarom ik .bashrc gebruikte, was dat op een bepaald moment .profile niet automatisch werd gebruikt. Maar als het nu werkt, is het beter om het te gebruiken. - Ressu
Instellen ~/.profile werkt niet voor mij. Het werkt in ~/.bashrc though. - jumpnett
Instellen ~/.bash_profile werkt ook. - jumpnett
Er is ook een systeemomvattend bestand in / etc. Dit werkt maar is per gebruiker. - wheredidthatnamecomefrom


Omgevingsvariabelen zouden al moeten werken

Als u het tomcat6-pakket van de Ubuntu-repositories gebruikt, zijn de CATALINA_HOME en andere omgevingsvariabelen al ingesteld, in de /etc/init.d/tomcat6 opstartscript.

Als u tomcat buiten de pakketbeheerder installeert (hopelijk in / opt of ergens anders buiten het beheerde bestandssysteem), voert u de TOMCAT/bin/startup.sh zou de relatieve locatie moeten gebruiken om de CATALINA_HOME te definiëren.

De omgevingsvariabele instellen

Als u om welke reden dan ook nog steeds een omgevingsvariabele moet instellen, kunt u een terminalvenster openen en de opdracht typen:

export CATALINA_HOME=/path/to/the/root/folder/of/tomcat

Deze omgevingsvariabele werkt nu in dat terminalvenster, maar als u een ander venster opent of uitlogt / inlogt, verliest u die instelling.

Maak de omgevingsvariabele permanent

Om de instelling van de omgevingsvariabele permanent te maken, zijn er verschillende plaatsen waar u de instelling kunt definiëren.

Om echt zeker te zijn dat de instelling wordt opgepikt, voegt u de bovenstaande instelling toe aan een van de opstartscripts voor tomcat:

yourtomcatfolder/bin/startup.sh

yourtomcatfolder/bin/catalina.sh

Opmerking: startup.sh roept de catalina.sh. U moet de instelling aan het begin van een van deze bestanden toevoegen (na eventuele eerste opmerkingen)

De standaardmanier voor globale omgevingsvariabelen zou zijn om een ​​vermelding toe te voegen /etc/environment (u gebruikt de opdracht export in dit bestand niet omdat het geen normaal bash-script is)

CATALINA_HOME=/path/to/the/root/folder/of/tomcat

Niet aangeraden

U kunt de omgevingsvariabelen instellen in de bash-configuratiebestanden (opdrachtregelshell), maar deze worden niet aanbevolen omdat ze niet altijd worden opgehaald (bijvoorbeeld als u een server gebruikt waarop u zich niet aanmeldt om tomcat uit te voeren): ~ / .bashrc | ~ / .profile | /etc.bash.bashrc | / Etc / profile


24
2017-08-05 07:03



Het zou niet de startup of catalina scripts, maar de setenv.sh of setenv.bat script, maak het indien nodig: "Afgezien van CATALINA_HOME en CATALINA_BASE, kunnen alle omgevingsvariabelen worden gespecificeerd in het" setenv "-script. Het script wordt geplaatst in CATALINA_BASE / bin of in de CATALINA_HOME / bin-map en heet setenv.bat (op Windows) of setenv.sh (op * nix) .Het bestand moet leesbaar zijn. " (De Apache Tomcat 7.0 Servlet / JSP-container wordt uitgevoerd, Paragraaf 3.4) - Olathe


Permanente omgevingsvariabelen instellen in de nieuwste Ubuntu-versies (vanaf 14.04 en later) voeg de variabelen toe aan /etc/environment. Volg daarvoor de onderstaande instructies,

Open de terminal en voer uit

sudo -H gedit /etc/environment

geef uw wachtwoord op en vervolgens in het gevraagde tekstbestand

voeg dan de variabelen toe zoals

ANT_HOME="/opt/ANT/"

Voorbeeld van de /etc/environment wordt hieronder gegeven

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
AXIS2_HOME="/opt/axis2-1.7.4/"
ANT_HOME="/opt/apache-ant-1.9.7/"

10
2017-11-16 05:11





De beste plaats hiervoor is afhankelijk van hoe en waar je Tomcat hebt geïnstalleerd, van welke applicaties je deze instelling wilt ophalen en hoe algemeen je wilt dat het bereik is.

De Ubuntu-documentatie over omgevingsvariabelen bespreekt de voor- en nadelen van de verschillende opties.


6
2017-08-03 22:17



Waar heb je het over wanneer je zegt: "beste plek hiervoor"? - jumpnett
@jumpnett - Ik bedoel waar de instelling persistent moet worden gemaakt, zodat deze altijd beschikbaar is voor de applicaties die er afhankelijk van zijn. Tenzij u tevreden bent om de instelling te typen in elke keer of wilt u uw eigen script schrijven. - McDowell


nano ~/.bashrc

Dit bevat waarschijnlijk al behoorlijk wat gegevens. De meeste definities hier zijn voor het instellen van bash-opties, die geen verband houden met omgevingsvariabelen. U kunt omgevingsvariabelen instellen zoals u zou doen vanaf de opdrachtregel:

export VARNAME=value

LINK

Ik heb het getest op Ubuntu 16.04. Werkt goed.


2
2018-01-03 11:00





Na het doorlopen van Ubuntu-documentatie over omgevingsvariabelen, kwam ik met de volgende oplossing:

##Save & run the following in a shell script,

export ENVIRON_VAR_NAME = Value
# any other initializations like
export PATH=$PWD:$PATH
bash

De laatste regel maakt een onderliggende shell, die Environment Variable-waarden van de parent-shell (die zojuist zijn ingesteld) overerft.


1
2018-02-19 01:53