What you are describing is called as shell parameter expansion
. This means that on evaluation time, bash searches the value of the variable and if not found, would assign the value at the right of :-
.
In other words, if AIRFLOW_PROJ_DIR
variable is defined (and its value is e.g. /home/me/airflow/project
), then your expression would evaluate as /home/me/airflow/project/dags
, otherwise, if not defined it will be evaluated as ./dags
.
More on shell parameter expansion at: https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html