Wir haben ein Shell-Skript namens source.sh, das viele ENV-Variablen exportiert, die für einen Build benötigt werden.Umgebungsvariable nicht verfügbar für nächsten Befehl im Shell-Skript
Ich versuche, auf diese ENV-Variablen zugreifen, indem Sie source.sh in meinem Skript ausführen, aber auch nach dem Ausführen kann ich nicht auf ENV-Variablen für die folgenden Befehle zugreifen.
My Script gleich aussehen:
#!/bin/bash
sh source.sh
cd $ROOT_VOS
make
Aber hier cd $ ROOT_VOSis nicht passiert
Als beiseite, es gibt keinen guten Grund, diese eine Umgebungsvariable gegen eine regelmäßige Schale zu machen Variablen- und POSIX-Konventionen geben den Namespace aller Großbuchstaben von Variablennamen an, die für Variablen mit Bedeutung für das Betriebssystem und die Shell verwendet werden sollen, wobei Kleinbuchstaben für die Verwendung durch die Anwendung reserviert sind. (Formal ist das für Umgebungsvariablen angegeben, aber das Setzen einer regulären Shell-Variablen überschreibt eine gleichnamige Umgebungsvariable, so dass die Konvention an beiden Stellen notwendigerweise gilt.) –