Skip to content
Joachim Ansorg edited this page Nov 12, 2021 · 5 revisions

Did you mean IFS=$'\t' ?

Problematic code:

IFS="\t"

Correct code:

IFS=$'\t'

or POSIX:

IFS="$(printf '\t')"

Rationale:

IFS="\t" splits on backslash and the letter "t". IFS=$'\t' splits on tab.

Exceptions

It's extremely rare to want to split on the letter "n" or "t", rather than linefeed or tab.

Related resources

See https://github.com/koalaman/shellcheck/wiki/SC1012

ShellCheck

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

Clone this wiki locally