From 0c9cfe7e8811d3cafae8df60f41849ef7d17e296 Mon Sep 17 00:00:00 2001 From: Vidar Holen Date: Wed, 17 Oct 2018 08:51:16 -0700 Subject: [PATCH] Updated SC2059 (markdown) --- SC2059.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/SC2059.md b/SC2059.md index 1a1a468..f7c94b3 100644 --- a/SC2059.md +++ b/SC2059.md @@ -31,15 +31,17 @@ The second writes ``bash: printf: `\': invalid format character`` Sometimes you may actually want to interpret data as a format string, like in: ```sh -hexToAscii() { printf "\x$1"; } -hexToAscii 21 +octToAscii() { printf "\\$1"; } +octToAscii 130 ``` -or when you have a pattern in a variable: +In Bash, Ksh and BusyBox, there's a `%b` format specifier that expands escape sequences without interpreting other format specifiers: `printf '%b' "\\$1"`. In POSIX, you can instead [[ignore]] this warning. + +Other times, you might have a pattern in a variable: ```sh filepattern="file-%d.jpg" printf -v filename "$filepattern" "$number" ``` -These are valid use cases with no useful rewrites. Please [[ignore]] the warnings with a [[directive]]. +This has no good rewrite. Please [[ignore]] the warning with a [[directive]]. \ No newline at end of file