Search code examples
bashdot-source

Using dot or "source" while calling another script - what is the difference?


Let's take a little example:

$ cat source.sh
#!/bin/bash
echo "I'm file source-1"

. source-2.sh

And:

$ cat source-2.sh
#!/bin/bash
echo "I'm file source-2"

Now run:

$ ./source.sh
I'm file source-1
I'm file source-2

If I'll change the call of the second file in first:

$ cat source.sh
#!/bin/bash
echo "I'm file source-1"

source source-2.sh

It will have the same effect as using dot.

What is difference between these methods?


Solution

  • There is no difference.

    From the manual:

    source

    source filename
    
    A synonym for . (see Bourne Shell Builtins).