Probleme beim Installieren eines Werkzeugsatzes

Probleme beim Installieren eines Werkzeugsatzes

Ich arbeite an einem Forschungsprojekt, für das ich Daten des Fermi Large Area Telescope der NASA verwenden muss. Die NASA stellt den Benutzern ein Paket mit Tools zur Verfügung, mit denen sie die Daten bearbeiten und verwenden können, allerdings mit einer dürftigen Installationsanleitung.

Ich habe diese Tools (Module) erfolgreich installiert, aber aus irgendeinem Grund scheinen sie nur in einem Terminal zu funktionieren. Wenn ich ein anderes Terminal öffnen und versuchen würde, ein Modul zu verwenden, z. B. gtselect, würde es den Befehl nicht erkennen, während das andere Terminal, auf dem ich das Paket ursprünglich installiert habe, dies tun würde.

Außerdem muss ich die Software jedes Mal neu installieren, wenn ich das Terminal schließe, z. B. wenn ich meinen Computer am nächsten Tag abends herunterfahre. (Auf diesem PC ist keine Festplattenschutzsoftware installiert, die die Festplatte in einen früheren Zustand zurückversetzen könnte.)

Vor diesem Hintergrund habe ich beschlossen, ein Bash-Shell-Skript zu schreiben, das die Installation jedes Mal für mich durchführt, damit ich nicht immer wieder lange Pfadnamen eingeben muss. Aus irgendeinem Grund funktioniert das Bash-Skript jedoch nicht und die Tools, die ich verwenden möchte, werden nicht erkannt.

Hier sind die Befehle, die, wenn ich sie manuell nacheinander in dieser Reihenfolge eingebe, beide Pakete korrekt installieren, sodass ich sie nutzen kann:

cd /home/dwoodson/FermiScienceTools/ScienceTools/Ubuntu/BUILD_DIR
./configure
export FERMI_DIR=/home/dwoodson/FermiScienceTools/ScienceTools/Ubuntu
source $FERMI_DIR/fermi-init.sh
cd /home/dwoodson/HEASoft/heasoft-6.16/x86_64-unknown-linux-gnu-libc2.5/BUILD_DIR
./configure
export HEADAS=/home/dwoodson/HEASoft/heasoft-6.16/x86_64-unknown-linux-gnu-libc2.5
source $HEADAS/headas-init.sh

Diese Zeilen habe ich speziell aus der Installationsanleitung der NASA erhalten. Ich habe sie mir nicht selbst ausgedacht.

Ich habe diese Zeilen exakt in ein Bash-Shell-Skript eingefügt:

#!/bin/bash
cd /home/dwoodson/FermiScienceTools/ScienceTools/Ubuntu/BUILD_DIR
./configure
export FERMI_DIR=/home/dwoodson/FermiScienceTools/ScienceTools/Ubuntu
source $FERMI_DIR/fermi-init.sh
cd /home/dwoodson/HEASoft/heasoft-6.16/x86_64-unknown-linux-gnu-libc2.5/BUILD_DIR
./configure
export HEADAS=/home/dwoodson/HEASoft/heasoft-6.16/x86_64-unknown-linux-gnu-libc2.5
source $HEADAS/headas-init.sh

Eines wird korrekt installiert, das andere nicht. Bitte lassen Sie mich wissen, wenn jemand behilflich sein kann.

Danke

Antwort1

Es stellte sich heraus, dass es eine einfache Lösung gibt, die es wert ist, mit den Händen an den Kopf geschlagen zu werden. Ich habe versucht, den folgenden Befehl auszuführen:

bash LoadTools.sh 

Wo LoadToalsist der Name meines Skripts? Dies führte dazu, dass alle vorgenommenen Änderungen in der untergeordneten Shell verblieben und die übergeordnete Shell unberührt blieb. Dies bedeutete, dass alle von den Konfigurationsdateien vorgenommenen Änderungen weder dauerhaft waren noch an der übergeordneten Shell vorgenommen wurden.

Habe stattdessen den Befehl: verwendet source LoadTools.shund es hat perfekt funktioniert.

verwandte Informationen