printf "Hello %s, welcome to %s.\n" "$USER"
printf "Hello %s, welcome to %s.\n" "$USER" "$HOSTNAME"
ShellCheck has noticed that you're using a printf
format
string with more %s
variables than arguments to fill
them.
In the problematic example case, the last %s
will just
become an empty string every time.
Either remove the unused variables from the format string, or add enough arguments to fill them.
When using the Ksh/Bash %T
timestamp extension, such as
printf 'The time is %(%H:%M)T\n'
, an argument of
-1
and no argument are both taken to mean the current time.
In these cases, consider specifying -1
explicitly.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.