echo "Your username is ´whoami´"
echo "Your username is $(whoami)" # Preferred echo "Your username is `whoami`" # Deprecated, will give [SC2006]
In some fonts it's hard to tell ticks apart, but Bash strongly distinguishes between backticks (grave accent
`), forward ticks (acute accent
´) and regular ticks (apostrophe
Backticks start command expansions, while forward ticks are literal. To help spot bugs, ShellCheck parses backticks and forward ticks interchangeably.
If you want to write out literal forward ticks, such as fancyful ascii quotation marks:
echo "``Proprietary software is an injustice.´´ - Richard Stallman"
use single quotes instead:
echo '``Proprietary software is an injustice.´´ - Richard Stallman'
To nest forward ticks in command expansion, use
$(..) instead of
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.