{"id":223,"date":"2014-10-04T12:21:54","date_gmt":"2014-10-04T12:21:54","guid":{"rendered":"http:\/\/192.168.2.32:8082\/?p=223"},"modified":"2019-01-03T10:16:52","modified_gmt":"2019-01-03T10:16:52","slug":"umgebungsvariablen-und-aliax","status":"publish","type":"post","link":"https:\/\/www.dev-metal.ch\/?p=223","title":{"rendered":"Umgebungsvariablen und Alias"},"content":{"rendered":"<h1>Userspezifisch<\/h1>\n<p>Aliase und Umgebungsvariablen k\u00f6nnen spezifisch pro User festgelegt werden. Hierzu verwendet man das &#8218;.bashrc&#8216; File im eigenen Home-Verzeichnis:<\/p>\n<h2>Alias\/Umgebungsvariable<\/h2>\n<pre class=\"lang:sh decode:true\">vi ~\/.bashrc\r\n<\/pre>\n<p>Neue Zeile<\/p>\n<pre class=\"lang:sh decode:true\">alias ll='ls -l'\r\n<\/pre>\n<p>einf\u00fcgen<\/p>\n<p>ll wird nun den Befehl ls -l im Terminal ausf\u00fchren.<\/p>\n<p>Auf diese Art und Weise k\u00f6nnen Umgebungsvariablen (z.B. JAVA_HOME) gesetzt werden:<\/p>\n<pre class=\"lang:sh decode:true\">JAVA_HOME=\/usr\/lib\/JDK1.5\r\nexport JAVA_HOME\r\n<\/pre>\n<h2>Global<\/h2>\n<p>Um globale Aliase und Umgebungsvariablen zu setzen, hat man mehrere M\u00f6glichkeiten:<\/p>\n<ul>\n<li>\/etc\/profile<\/li>\n<li>\/etc\/bash.bashrc<\/li>\n<li>\/etc\/environment<\/li>\n<li>Wrapper-Skript<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>\/etc\/profile<\/h3>\n<p>Dieses File ist dann der richtige Ort, wenn man von der Console bootet und das GUI (Gnome\/KDE) \u00fcber startx aufruft. Das \/etc\/profile wird also auch dann gelanden, wenn kein Window-Manager gelanden wird.<\/p>\n<h3>\/etc\/bash.bashrc<\/h3>\n<p>Dieses File ist dann der richtige Ort, wenn man direkt per &#8222;Login-Manager&#8220; grafisch einloggt. Man darf aber nicht vergessen, dass dieses File ignoriert wird, sobald man ein weiteres Terminal (per Alt-F?) \u00f6ffnet.<\/p>\n<h3>\/etc\/environment<\/h3>\n<p>Hier kann man statische Variablen definieren, die f\u00fcr das ganze System von Interesse sind. Als Beispiel werden hier alle Umgebungsvariablen f\u00fcr die Programmiersprache Java definiert, die sowohl f\u00fcr das Ausf\u00fchren als auch die Entwicklung von Java-Programmen n\u00f6tig sind. Die Variable PATH kann man auch in<\/p>\n<pre class=\"lang:sh decode:true \">\/etc\/environment<\/pre>\n<p>definieren, sie wird aber in der Regel von der Shell wieder \u00fcberschrieben. Somit ist es besser, PATH in der Datei<\/p>\n<pre class=\"lang:sh decode:true \">\/etc\/profile<\/pre>\n<p>zu definieren und gegebenenfalls \u00fcber die benutzerspezifischen Dateien<\/p>\n<pre class=\"lang:sh decode:true \">${HOME}\/.bash_profile<\/pre>\n<p>(Login-Shell) und<\/p>\n<pre class=\"lang:sh decode:true \">${HOME}\/.bashrc<\/pre>\n<p>(interaktive Shell) anpassen.<\/p>\n<h3>Wrapper-Skript<\/h3>\n<p>Es kursiert in der Debian-Welt die Idee, dass Umgebungsvariablen f\u00fcr das Starten eines Programmes nicht n\u00f6tig sein sollten. Aus diesem Grunde wird oft ein so genanntes Wrapper-Script erstellt, welches die n\u00f6tigen Variablen setzt und danach das eigentlich gew\u00fcnschte Programm aufruft. Das kann z.B. folgendermassen aussehen:<\/p>\n<pre class=\"lang:sh decode:true\">#!\/bin\/sh\r\nexport JAVA_HOME=\/wo\/auch\/immer\r\nexec $0.real \"$@\"\r\n<\/pre>\n<p>Das speichert man unter dem Namen nachdem das effektive &#8218;PROGRAMM&#8216; zu &#8218;PROGRAMM.real&#8216; umbenannt worden ist. Danach noch das execute-Falg setzen:<\/p>\n<pre class=\"lang:sh decode:true \">chmod +x PROGRAMM<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Userspezifisch Aliase und Umgebungsvariablen k\u00f6nnen spezifisch pro User festgelegt werden. Hierzu verwendet man das &#8218;.bashrc&#8216; File im eigenen Home-Verzeichnis: Alias\/Umgebungsvariable vi ~\/.bashrc Neue Zeile alias ll=&#8217;ls -l&#8216; einf\u00fcgen ll wird nun den Befehl ls -l im Terminal ausf\u00fchren. Auf diese Art und Weise k\u00f6nnen Umgebungsvariablen (z.B. JAVA_HOME) gesetzt werden: JAVA_HOME=\/usr\/lib\/JDK1.5 export JAVA_HOME Global Um globale [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[35,3],"tags":[15],"class_list":["post-223","post","type-post","status-publish","format-standard","hentry","category-java","category-linux","tag-java"],"modified_by":"ralph","_links":{"self":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts\/223","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=223"}],"version-history":[{"count":3,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts\/223\/revisions"}],"predecessor-version":[{"id":1222,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts\/223\/revisions\/1222"}],"wp:attachment":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=223"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=223"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=223"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}