how.wtf

Executing a script with dot vs source in Bash

· Thomas Taylor

What are the differences between source scriptname.sh, . scriptname.sh and ./scriptname.sh when executing scripts?

Running a program in Bash

Executing a script is simple in Bash and many other shells.

1scriptname.sh

OR

1./scriptname.sh

The shell commands above will execute the scriptname.sh script as a separate program from the command line. It may be any type of script.

Sourcing a script in Bash

When a file is sourced, it runs in the current user’s shell as if the commands were typed out.

1. scriptname.sh

OR

1source scriptname.sh

The most common use case is when scripts export environment variables.

1export ENV_VAR=test
1source test.sh
2echo $ENV_VAR

Output:

1test

#bash  

Reply to this post by email ↪