Depends how you are calling it. Using source
or .
commands then no, if calling them as a child process using just the script name, then yes.
From your description then you are "sourcing" the files, so no, #!
will just be a comment. It may also be prudent to remove execute access from these files so they are not inadvertently called as child processes.
(If they are not "sourced" then the definitions would only happen in the child process and would be useless)
EDIT following @triplee comment:
They could be invoked as a child process using (for example) sh filename
, bash filename
, or even (shudder) csh filename
. All of these shells have differences, so one advantage of a #!
line is as a comment indicating which shell type the code is written for. I wouldn't use it for that though, because it also implies it can be run as a child. I'm sure you comment your code sufficiently already, but it might be worth adding comments to indicate the shell.