org.sonar.l10n.shellcheck.rules.shellcheck.SC1012.html Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sonar-shellcheck-plugin Show documentation
Show all versions of sonar-shellcheck-plugin Show documentation
ShellCheck plugin for SonarQube
\t
is just literal t
here. For tab, use "$(printf '\t')"
instead.
Problematic code
# Want tab
var=foo\tbar
or
# Want linefeed
var=foo\nbar
Correct code
var="foo$(printf '\t')bar" # As suggested in warning
var="$(printf 'foo\tbar')" # Equivalent alternative
or
# Literal, quoted linefeed
line="foo
bar"
Rationale
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.
Exceptions
None.
Related resources
- Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!
© 2015 - 2025 Weber Informatics LLC | Privacy Policy