Created SC1077 (markdown)

koalaman
2014-02-08 09:49:51 -08:00
parent 08bd914ed5
commit f2f6abc31c

29
SC1077.md Normal file

@@ -0,0 +1,29 @@
# SC1077: For command expansion, the tick should slant left (` vs ´).
### Problematic code:
echo "Your username is ´whoami´"
### Correct code:
echo "Your username is $(whoami)" # Preferred
echo "Your username is `whoami`" # Deprecated, will give [SC2006]
### Rationale:
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.
### Contraindications
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 `` `..` ``.