Warum unterscheidet sich die Ausgabe von $ PATH in einem Skript von der Ausgabe von $ PATH auf dem Terminal? Auch für ein minimales Skript wie dieses:
#!/bin/bash
echo $PATH
Es stimmt nicht mit dem überein, was ich erhalte, wenn ich $ PATH in das Terminal eingebe. Aus diesem Grund erhalte ich immer wieder "Befehl nicht gefunden". Wie kann ich das beheben? Ich benutze OSX High Sierra.
Ok, "export PATH" scheint einen Teil meines Problems gelöst zu haben. Eines der Programme, die ich verwende, ist dynamisch verknüpft. Aus irgendeinem Grund wird auch mit Exportpfad "dyld: Bibliothek nicht geladen" angezeigt. Zumindest befindet sich das Programm jetzt im Pfad, wenn es vom Skript aufgerufen wird. Was macht "export PATH"? Und wie kann ich auch die Bibliothekspfade einbeziehen?
/usr/bin/grep PATH "$HOME/.bashrc"
?./script
(benötigen möglicherweise einechmod +x script
erste)?echo "$PATH"
oderenv | grep -i "PATH"
-, das Ihnen den Inhalt der Variablen PATH anzeigt, im Gegensatz zu Ihrer Shell, die versucht, (den Inhalt) als Befehl auszuführen, was zu Problemen führen kann. Außerdem wollen wir sehen , welche Shell Sie verwenden:env | grep -i shell
. Klingt so, als ob Ihr Skript Ihre Umgebungsvariablen nicht erbt, was nicht allzu unerwartet ist. Wir müssen nur herausfinden, warum.