SC1018 – ShellCheck Wiki

See this page on GitHub


This is a unicode non-breaking space. Delete it and retype as space.

You copy-pasted some code, probably from a blog or web site, which for formatting reasons contained Unicode no-break spaces or Unicode zero-width spaces instead of regular spaces or in words.

To humans, a zero-width space is invisible and a non-breaking space is indistinguishable from a regular space, but the shell does not agree.

If you have just a few, delete the indicated space/word and retype it. If you have tons, do a search-and-replace in your editor (copy-paste an offending space into the search field, and type a regular space into the replace field), or use the following command to remove them:

sed -e $'s/\xC2\xA0/ /g' -e $'s/\xE2\x80\x8b//g' -i yourfile

On macOS, a non-breaking space can be inserted into most programs by holding ⌥ Option+Space.

ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.