When using a standard shell command it's usually typed straight on to the command line after the prompt and executed by hitting enter. But when a shell script is run it is often preceded by a dot and a forward slash ./
In the case of the former standard commands, Bash tries to find the typed command from a series of directories that are stored in a variable called $PATH, which can be seen by typing echo $PATH which returns an output such as:
You can see that each directory is separated by a colon :
Since the $PATH variable is individual to each user on a system, it can be set to suit each specific user.
Accordingly, for convenience sake, one could add a specific directory (e.g. ~/myscripts) for your custom shell scripts that would therefore not require the preceding ./
Temporary path addition:
Permanent path addition - add the above to the bottom of your ~/.bashrc file:
Now, if you were to save all your shell scripts in ~/myscripts, you'd no longer need to preceded with them with ./ to run them.