Created SC2025 (markdown)

koalaman
2014-02-20 16:53:42 -08:00
parent 716d8320ab
commit c47b2409a0

19
SC2025.md Normal file

@@ -0,0 +1,19 @@
# Make sure all escape sequences are enclosed in \[..\] to prevent line wrapping issues
### Problematic code:
PS1='\e[36m\$ \e(B\e[m'
### Correct code:
PS1='\[\e[36m\]\$ \[\e(B\e[m\]'
### Rationale:
Bash is unable to determine exactly which parts of your prompt are text and which are terminal codes. You have to help it by wrapping invisible control codes in `\[..\]` (and ensuring that visible characters are not wrapped in `\[..\]`).
Note: ShellCheck offers this as a helpful hint and not a robust check. Don't rely on ShellCheck to verify that your prompt is correct.
### Contraindications
None.