On most GNU/Linux distributions the attempt to execute the a.out
will fail even when the current directory contains that file and the file is marked as executable:
$ ls a.out* hello.c $ a.out bash: a.out: command not found
To execute it you must either supply the current directory along with the file name or to make the current directory being a member in the path:
$ ./a.out Hello, world ! $ export PATH=$PATH:. $ a.out Hello, world ! $ _
In our examples Jim managed to get a GNU/Linux distribution that in effort to be as similar to Windows as possible makes the current directory being the first directory in the PATH environment variable so Jim will not get confused too much by this aspect of GNU/Linux (which is not important for our goals either).