-
Notifications
You must be signed in to change notification settings - Fork 1.9k
SC1012
Vidar Holen edited this page Jun 24, 2018
·
8 revisions
# Want tab
var=foo\tbaror
# Want linefeed
var=foo\nbarvar="foo$(printf '\t')bar" # As suggested in warning
var="$(printf 'foo\tbar')" # Equivalent alternativeor
# Literal, quoted linefeed
line="foo
bar"ShellCheck has found a \t, \n or \r in a context where they just become regular letter t, n or r. Most likely, it was intended as a tab, linefeed or carriage return.
To generate such characters (plus other less common ones including \a, \f and octal escapes) , use printf as in the example. The exception is for linefeeds that would be stripped by command substitution; in these cases, use a literal quoted linefeed instead.
Other characters like \z generate a SC1001 info message, as the intent is less certain.
None.
- Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!