Skip to content
Joachim Ansorg edited this page Oct 31, 2022 · 2 revisions

Don't add spaces after the slash in ./file.

Problematic code:

gcc -o myfile file.c
./ myfile

Correct code:

gcc -o myfile file.c
./myfile

Rationale:

Contrary to popular belief, there is no command or syntax ./ that runs a file.

./myfile is simply the shortest path equivalent to myfile that specifies a directory and therefore causes a shell to run it as-is, instead of trying to find its directory using $PATH.

Therefore, to run a file in the current directory, use ./myfile and not ./ myfile.

Exceptions:

None

Related resources:

  • Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!

ShellCheck

Each individual ShellCheck warning has its own wiki page like S001. Use GitHub "Pages" feature above to find a specific one, or see Checks.

Clone this wiki locally