Creating a new directory while exporting — where does it exist

bashlinux

I run the code below (following the installation instructions for Apache Airflow):

~$ export AIRFLOW_HOME=~/airflow
~$ echo $AIRFLOW_HOME
/home/myuseraccount/airflow

However when I execute the ls command (in the same shell) the airflow directory doesn't appear. Could someone explain to me the underlying process of what's going on?

Best Answer

export creates an environment variable. The content of any environment variable is a string. The fact the string in the variable you created looks like a valid pathname does not mean a directory (in general: a file) with this pathname exists.

You can create a directory with mkdir. Example:

mkdir /home/myuseraccount/airflow

The guide you linked to states:

Upon running these commands, Airflow will create the $AIRFLOW_HOME folder […]

but it says "these commands", i.e. not the export command alone. Most likely some later command is supposed to create the directory if it doesn't exist yet.

If the entire guide silently fails to create the directory then it probably means it's a bug (of Aiflow or of the guide).

Related Question