bash file completion without specifying "./"
Your current directory isn't (or shouldn't be) in your $PATH
, so it's not a valid location in which to find executables. In this example, my_
is the prefix to a command, and so will not be found in your current directory:
my_<tab>
In this example, the my_
is an ordinary file and can be found by tab completion:
cat my_<tab>