![Bash: Variablen müssen in übergeordneten Prozess exportiert werden. Ist der übergeordnete Prozess derselbe?](https://rvso.com/image/1402602/Bash%3A%20Variablen%20m%C3%BCssen%20in%20%C3%BCbergeordneten%20Prozess%20exportiert%20werden.%20Ist%20der%20%C3%BCbergeordnete%20Prozess%20derselbe%3F.png)
Ich möchte ein Skript starten, das einige Umgebungsvariablen setzt und/oder aktualisiert. Anders alsdiese Frage, ich habe nichts dagegen, das Skript zu starten, wie
. /path/to/my/script/myScript.sh
um das Skript zu zwingen, denselben Prozess wie das übergeordnete Skript auszuführen. Allerdings möchte ich nicht, dass das Skript stillschweigend fehlschlägt, wenn das übergeordnete Skript es vergisst. Ich möchte das Problem erkennen und eine Fehlermeldung generieren.
Wie lässt sich also am besten feststellen, ob das Skript innerhalb des übergeordneten Prozesses ausgeführt wurde?
Antwort1
Überprüfen Sie eine der Variablen. Wenn sie leer ist oder nicht gesetzt wurde, zeigen Sie den Fehler an
if [[ -z "$some_variable" ]]; then
echo "You must 'source /path/to/my/script/myScript.sh' first" >&2
exit 1
fi
Wenn Sie Ihren Benutzern einen reibungsloseren Arbeitsablauf ermöglichen möchten, können Sie natürlich auch einfach die Datei als Quelle verwenden und fortfahren.