Ich führe den folgenden Code aus (nach demInstallationsanleitungfür Apache Airflow):
~$ export AIRFLOW_HOME=~/airflow
~$ echo $AIRFLOW_HOME
/home/myuseraccount/airflow
Wenn ich den Befehl jedoch ausführe ls
(in derselben Shell), airflow
wird das Verzeichnis nicht angezeigt. Kann mir jemand den zugrunde liegenden Prozess erklären?
Antwort1
export
erstellt eine Umgebungsvariable. Der Inhalt jeder Umgebungsvariable ist einSchnur. Die Tatsache, dass die Zeichenfolge in der von Ihnen erstellten Variable wie ein gültiger Pfadname aussieht, bedeutet nicht, dass ein Verzeichnis (im Allgemeinen: eine Datei) mit diesem Pfadnamen existiert.
Mit können Sie ein Verzeichnis erstellen mkdir
. Beispiel:
mkdir /home/myuseraccount/airflow
In der Anleitung, auf die Sie verlinkt haben, heißt es:
Beim Ausführen dieser Befehle erstellt Airflow den
$AIRFLOW_HOME
Ordner […]
aber es heißt „diese Befehle“, also nicht der export
Befehl allein. Höchstwahrscheinlich soll ein späterer Befehl das Verzeichnis erstellen, wenn es noch nicht existiert.
Wenn das Erstellen des Verzeichnisses im gesamten Handbuch stillschweigend fehlschlägt, handelt es sich wahrscheinlich um einen Fehler (von Aiflow oder des Handbuchs).