I am running a bioinformatics web application on a compute cluster and I’m trying to troubleshoot some issues. The webapp runs a predefined shell script that passes cluster compute parameters (stored in a file named defaultJobRunner.sh before running the computationally-intensive work.
For each job that is created, an accompanying shell script is created which contains the following line:
[ -f "/home/galaxy/defaultJobRunner.sh" ] && . /home/galaxy/defaultJobRunner.sh
I understand this to be short-form for “if the file in the square brackets is a regular file, then run it. What I don’t understand is the function or significance of that period between && and /home/galaxy/defaultJobRunner.sh
It’s short for
source. It runs/home/galaxy/defaultJobRunner.shas though each line had been typed into the current session. (source)