# `shq` `sh` quoting for your `sh` scripts. Or for your rust stuff. Whichever. ## Usage `shq` is mostly interesting for use when escaping unknown strings so here's an example of that: ```bash trap "$(shq echo "your first arg was $1 and your random token was $RANDOM")" 2 ``` This will echo your first arg safely as well as a random number whenever you press Ctrl-C. Significantly, these will be the values at the time the trap was created. ## How it works In `sh`, a single quote (`'`) opens a string which may contain any character other than another single quote. A single quote may be included in a double quoted string. And finally, two strings may be concatenated by simply shoving them together. Thus, we get `echo 'this string'"'"'s very cool'` which produces `this string's very cool`. An alternate version which uses `echo 'this string'\''s very cool'` is possible. I don't like `\`. ## Comparison to other tools `coreutils`'s as well as possibly other implementations of the `printf` shell scripting tool have a %q format specifier which does largely the same thing as this tool. Some of these use backslashes which may be more or less compatible with your particular use case than the reliance on single quote strings.