Probleme mit bash script



  • Hallo,

    Ich möchte die folgenden beiden Zeilen jedes Mal zu Beginn im Terminal ausführen:

    LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    

    Eigentlich sollte es ja mit folgendem Mini Skript funktionieren, tut es aber leider nicht. Bis jetzt muss ich das immer wieder manuell erledigen.

    #!/bin/bash
    
    LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    export LD_LIBRARY_PATH
    

    Habe es auch schon mal in einem Makefile des Prorammes für die ich die Zeilen brauche probiert mit $(shell ...), klappt aber auch nicht.

    Hat jemand vielleicht eine Idee?

    Viele Grüße
    Christian



  • du könntest zum Beispiel das ganze in deine .bashrc packen



  • Das ist ne gute Idee, danke.

    Das Programm soll aber möglichst portabel sein, das wäre also eher eine Notlösung.



  • Gibt es vielleicht noch andere Möglichkeiten?



  • Pack die beiden Zeilen in ein eigenes Script, setz die Zugriffsrechte auf "ausfuehrbar" (chmod u+x oder a+x ganz wie dus brauchst) und lass das Script dann von deiner .bashrc oder aus deinem Buildprozess heraus aufrufen.

    Shapeshifter schrieb:

    Eigentlich sollte es ja mit folgendem Mini Skript funktionieren, tut es aber leider nicht.

    "Das tuts nicht" ist keine besonders genaue Fehlermeldung, daher kann dir kaum einer sagen, warum es nicht tut...



  • Hi,

    Also wenn ich diese kleine bash Datei ausführe passiert einfach gar nichts, er beschwert sich nicht mit einer Fehlermeldung o.ä., führt die beiden Zeilen aber auch nicht aus.
    Ich kenn mich nicht allzu gut mit diesen Scripts aus; ich dachte bisher ich kann da alle möglichen commands reinpacken die ich sonst auch in der shell manuell ausführe.

    Ich probiere die letzte gepostete Variante mal aus, danke für den Tipp.



  • Shapeshifter schrieb:

    Hi,

    Also wenn ich diese kleine bash Datei ausführe passiert einfach gar nichts, er beschwert sich nicht mit einer Fehlermeldung o.ä., führt die beiden Zeilen aber auch nicht aus.
    Ich kenn mich nicht allzu gut mit diesen Scripts aus; ich dachte bisher ich kann da alle möglichen commands reinpacken die ich sonst auch in der shell manuell ausführe.

    Ich probiere die letzte gepostete Variante mal aus, danke für den Tipp.

    Das script wird erfolgreich ausgeführt. Nur das problem ist, wenn du ein script-file ausführst wird das script in einer subshell ausgeführt.
    Um in der aktuellen shell die ENV-Variable zu ändern musst du entweder, wie schon gesagt den inhalt des scripts in die .bashrc einfügen. Oder per source <script-file> den Inhalt in die aktuelle shell zu exportieren.


Anmelden zum Antworten