emanuele6 1690271726 learn The sourcepath shopt option (enabled by default in non-POSIX mode), makes . (or source), when passed a filename that does not contain /, look for the filename in the current directory if it was not able to find it in PATH ("as if" PATH was set to PATH=$PATH:. except that path won't contain . inside the script). If you want to source a file in the current directory, just use . emanuele6 1690271740 forget emanuele6 1690271817 learn The sourcepath shopt option (enabled by default in non-POSIX mode), makes . (or source), when passed a filename that does not contain /, look for the filename in the current directory if it was not able to find it in PATH; "as if" PATH was set to PATH=$PATH:. (except PATH does not contain . inside the script). If you want to source a file in the current directory, just use . emanuele6 1690271837 forget emanuele6 1690271877 learn The sourcepath shopt option (enabled by default in non-POSIX mode), makes . (or source), when passed a filename that does not contain /, look for the filename in the current directory if it was not able to find it in PATH; "as if" PATH was set to PATH=$PATH:. (except PATH does not contain . in the script). If you want to source a file in the current directory, just use . ./file emanuele6 1690272485 forget emanuele6 1690272486 learn Normally, in sh, . filename and source filename where filename does not contain a slash (/), look for a file named "filename" to source only in PATH; the sourcepath shopt (on by default in non-POSIX mode) makes . filename (and source) use ./filename if "filename" was not found in PATH. If you want to source a file in the current directory, you should just use . ./filename