-
Notifications
You must be signed in to change notification settings - Fork 1.8k
SC1143
Vidar Holen edited this page Mar 21, 2021
·
1 revision
sed \
-e "s/HOST/$HOSTNAME/g" \
# -e "s/USER/$USER/g" \
-e "s/ARCH/$(uname -m)/g" \
"$buildfile"
sed \
-e "s/HOST/$HOSTNAME/g" \
-e "s/ARCH/$(uname -m)/g" \
"$buildfile"
# This comment is moved out:
# -e "s/USER/$USER/g" \
or using backticked, inlined comments:
sed \
-e "s/HOST/$HOSTNAME/g" \
`# -e "s/USER/$USER/g"` \
-e "s/ARCH/$(uname -m)/g" \
"$buildfile"
(ShellCheck recognizes this idiom and does not suggest quotes or $()
, neither of which would have worked)
ShellCheck found a line continuation followed by a commented line that appears to try to do the same.
Backslash line continuations are not respected in comments, and the line instead simply terminates. This is a problem when commenting out one line in a multi-line command like the example.
Instead, either move the line away from its statement, or use an `# inline comment`
in an unquoted backtick command substitution.
None.
- Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!