{"id":312,"date":"2013-01-23T23:54:50","date_gmt":"2013-01-23T22:54:50","guid":{"rendered":"http:\/\/www.instruyete.org\/?p=312"},"modified":"2013-01-23T23:54:50","modified_gmt":"2013-01-23T22:54:50","slug":"kommando-in-bash-kann-nicht-starten-obwohl-which-es-findet","status":"publish","type":"post","link":"https:\/\/www.instruyete.org\/?p=312","title":{"rendered":"Kommando in bash kann nicht starten obwohl &#8218;which&#8216; es findet"},"content":{"rendered":"<p>Manchmal liegen Programme in verschiedenen Versionen vor und verlangen nach einem Ansatz der es erlaubt die verschiedenen Versionen relativ einfach zu starten.<br \/>\nEine M\u00f6glichkeit ist es die <strong>PATH<\/strong> Umgebungsvariable so zu setzen, dass mehrere Verzeichnisse die das Programm beinhalten gelistet sind, z.B.<\/p>\n<p><code>PATH=~\/binNeu:~\/binAlt<\/code><\/p>\n<p>Ein fikives Programm <em>testMe<\/em> ,w\u00fcrde nun aus <em>~\/binNeu<\/em> starten. Wenn man nun tempor\u00e4r dieses Verzeichnis umbenennt, sollte <em>testMe<\/em> aus <em>~\/binAlt<\/em> gestartet werden.<br \/>\nTats\u00e4chlich wird das auch vom <strong>which<\/strong> Kommando so angezeigt. Bei der Ausf\u00fchrung von <em>testMe<\/em>, gibt die bash erstaunlicherweise die Fehlermeldung aus, das <em>~\/binNeu\/testMe<\/em> (!) nicht gefunden wird.<\/p>\n<p>Grund daf\u00fcr ist eine Cache-<strong>Hashtable<\/strong> welche die bash am Anfang anlegt um einen Programmstart zu beschleunigen. Und genau diesen muss man in diesem Fall mit folgendem Kommando l\u00f6schen.<\/p>\n<p><code>hash -r<\/code><\/p>\n<p>Alternativ k\u00f6nnte man auch das File sourcen, welches direkt oder indirekt die PATH Variable setzt, oder schlicht die bash schlie\u00dfen und neustarten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Manchmal liegen Programme in verschiedenen Versionen vor und verlangen nach einem Ansatz der es erlaubt die verschiedenen Versionen relativ einfach zu starten. Eine M\u00f6glichkeit ist es die PATH Umgebungsvariable so zu setzen, dass mehrere Verzeichnisse die das Programm beinhalten gelistet sind, z.B. PATH=~\/binNeu:~\/binAlt Ein fikives Programm testMe ,w\u00fcrde nun aus ~\/binNeu starten. Wenn man nun &hellip; <a href=\"https:\/\/www.instruyete.org\/?p=312\" class=\"more-link\"><span class=\"screen-reader-text\">Kommando in bash kann nicht starten obwohl &#8218;which&#8216; es findet<\/span> weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,10,11,7],"tags":[],"class_list":["post-312","post","type-post","status-publish","format-standard","hentry","category-linux","category-macos","category-solaris","category-unix"],"_links":{"self":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts\/312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=312"}],"version-history":[{"count":0,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=\/wp\/v2\/posts\/312\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.instruyete.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}