5 questions to test your understanding
A shell script contains the line: export DATABASE_URL=postgres://localhost/mydb. After the script finishes, you check the variable in your interactive shell and find it is not set. What explains this?
What is the difference between running ./configure.sh and source ./configure.sh with respect to environment variables?
Environment variable changes made by a child process are not visible to the parent process that launched it.
When a shell expands wildcards like *.txt before passing arguments to a program, the program receives the original *.txt pattern and performs its own expansion internally.
Why do command-line arguments and environment variables serve complementary rather than identical purposes, and when is each appropriate?