Skip to content

Instantly share code, notes, and snippets.

@mej
Created April 6, 2023 23:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mej/be725822763bb844ca4b86be682966d3 to your computer and use it in GitHub Desktop.
Save mej/be725822763bb844ca4b86be682966d3 to your computer and use it in GitHub Desktop.
Argument-quoting Testing Tool & Output
#!/bin/bash -x
set -- "This... " This "can't" \*really\* be a '<bleep>ing' "\"test,\"" can it\?$'\n'
OFFLINE_NODE="echo -e -n"
exec >$0.out 2>$0.err
TESTSTR="$*"
printf 'Beginning testing; test string is: "%s"\n' "${TESTSTR}"
declare -p TESTSTR
printf 'Testing current syntax: {'
eval $OFFLINE_NODE "'$HOSTNAME'" "'$*'"
printf '}\n'
echo
#=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
printf 'Testing Q-transform method, double-quoted multi-arg: {'
$OFFLINE_NODE "$HOSTNAME" "${@@Q}"
printf '}\n'
printf 'Testing Q-transform method, double-quoted single arg: {'
$OFFLINE_NODE "$HOSTNAME" "${*@Q}"
printf '}\n'
printf 'Testing Q-transform method, unquoted multi-arg: {'
$OFFLINE_NODE "$HOSTNAME" ${@@Q}
printf '}\n'
printf 'Testing Q-transform method, unquoted single arg: {'
$OFFLINE_NODE "$HOSTNAME" ${*@Q}
printf '}\n'
printf 'Testing Q-transform method, fully unquoted: {'
$OFFLINE_NODE $HOSTNAME ${*@Q}
printf '}\n'
echo
#=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
printf 'Testing K-transform method, double-quoted multi-arg: {'
$OFFLINE_NODE "$HOSTNAME" "${@@K}"
printf '}\n'
printf 'Testing K-transform method, double-quoted single arg: {'
$OFFLINE_NODE "$HOSTNAME" "${*@K}"
printf '}\n'
printf 'Testing K-transform method, unquoted multi-arg: {'
$OFFLINE_NODE "$HOSTNAME" ${@@K}
printf '}\n'
printf 'Testing K-transform method, unquoted single arg: {'
$OFFLINE_NODE "$HOSTNAME" ${*@K}
printf '}\n'
printf 'Testing K-transform method, fully unquoted: {'
$OFFLINE_NODE $HOSTNAME ${*@K}
printf '}\n'
echo
#=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
printf 'Testing k-transform method, double-quoted multi-arg: {'
$OFFLINE_NODE "$HOSTNAME" "${@@k}"
printf '}\n'
printf 'Testing k-transform method, double-quoted single arg: {'
$OFFLINE_NODE "$HOSTNAME" "${*@k}"
printf '}\n'
printf 'Testing k-transform method, unquoted multi-arg: {'
$OFFLINE_NODE "$HOSTNAME" ${@@k}
printf '}\n'
printf 'Testing k-transform method, unquoted single arg: {'
$OFFLINE_NODE "$HOSTNAME" ${*@k}
printf '}\n'
printf 'Testing k-transform method, fully unquoted: {'
$OFFLINE_NODE $HOSTNAME ${*@k}
printf '}\n'
echo
#=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
printf 'Testing subshell method, double-quoted multi-arg: {'
($OFFLINE_NODE "$HOSTNAME" "$@")
printf '}\n'
printf 'Testing subshell method, double-quoted single arg: {'
($OFFLINE_NODE "$HOSTNAME" "$*")
printf '}\n'
printf 'Testing subshell method, unquoted multi-arg: {'
($OFFLINE_NODE "$HOSTNAME" $@)
printf '}\n'
printf 'Testing subshell method, unquoted single arg: {'
($OFFLINE_NODE "$HOSTNAME" $*)
printf '}\n'
printf 'Testing subshell method, fully unquoted: {'
($OFFLINE_NODE $HOSTNAME $*)
printf '}\n'
echo
#=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
printf 'Testing filtering method, current syntax: {'
eval $OFFLINE_NODE "'$HOSTNAME'" "'${*//[\"\'\\\`]}'"
printf '}\n'
printf 'Testing filter method, refined syntax: {'
eval $OFFLINE_NODE "'$HOSTNAME'" "\"${*//[\"\'\\\`]}\""
printf '}\n'
echo
#=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
printf 'Testing filter method, double-quoted multi-arg: {'
eval $OFFLINE_NODE "$HOSTNAME" "${@//[\"\'\\\`]}"
printf '}\n'
printf 'Testing filter method, double-quoted single arg: {'
eval $OFFLINE_NODE "$HOSTNAME" "${*//[\"\'\\\`]}"
printf '}\n'
printf 'Testing filter method, unquoted multi-arg: {'
eval $OFFLINE_NODE "$HOSTNAME" ${@//[\"\'\\\`]}
printf '}\n'
printf 'Testing filter method, unquoted single arg: {'
eval $OFFLINE_NODE "$HOSTNAME" ${*//[\"\'\\\`]}
printf '}\n'
printf 'Testing filter method, fully unquoted: {'
eval $OFFLINE_NODE $HOSTNAME ${*//[\"\'\\\`]}
printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:9:()]> TESTSTR='This... This can'\''t *really* be a <bleep>ing "test," can it?
'
>[{L4/S0/D0/R0}@test-subshell:10:()]> printf 'Beginning testing; test string is: "%s"\n' 'This... This can'\''t *really* be a <bleep>ing "test," can it?
'
>[{L4/S0/D0/R0}@test-subshell:11:()]> declare -p TESTSTR
>[{L4/S0/D0/R0}@test-subshell:13:()]> printf 'Testing current syntax: {'
>[{L4/S0/D0/R0}@test-subshell:14:()]> eval echo -e -n ''\''tracon'\''' ''\''This... This can'\''t *really* be a <bleep>ing "test," can it?
'\'''
>>[{L4/S0/D0/R0}@test-subshell:14:()]> echo -e -n tracon 'This... This cant' '*really*' be a test, can 'it?'
./test-subshell: line 14: bleep: No such file or directory
./test-subshell: eval: line 15: unexpected EOF while looking for matching `''
>[{L4/S0/D0/R2}@test-subshell:15:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:16:()]> echo
>[{L4/S0/D0/R0}@test-subshell:20:()]> printf 'Testing Q-transform method, double-quoted multi-arg: {'
>[{L4/S0/D0/R0}@test-subshell:21:()]> echo -e -n tracon ''\''This... '\''' ''\''This'\''' ''\''can'\''\'\'''\''t'\''' ''\''*really*'\''' ''\''be'\''' ''\''a'\''' ''\''<bleep>ing'\''' ''\''"test,"'\''' ''\''can'\''' '$'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:22:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:23:()]> printf 'Testing Q-transform method, double-quoted single arg: {'
>[{L4/S0/D0/R0}@test-subshell:24:()]> echo -e -n tracon ''\''This... '\'' '\''This'\'' '\''can'\''\'\'''\''t'\'' '\''*really*'\'' '\''be'\'' '\''a'\'' '\''<bleep>ing'\'' '\''"test,"'\'' '\''can'\'' $'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:25:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:26:()]> printf 'Testing Q-transform method, unquoted multi-arg: {'
>[{L4/S0/D0/R0}@test-subshell:27:()]> echo -e -n tracon ''\''This...' \' ''\''This'\''' ''\''can'\''\'\'''\''t'\''' ''\''*really*'\''' ''\''be'\''' ''\''a'\''' ''\''<bleep>ing'\''' ''\''"test,"'\''' ''\''can'\''' '$'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:28:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:29:()]> printf 'Testing Q-transform method, unquoted single arg: {'
>[{L4/S0/D0/R0}@test-subshell:30:()]> echo -e -n tracon ''\''This...' \' ''\''This'\''' ''\''can'\''\'\'''\''t'\''' ''\''*really*'\''' ''\''be'\''' ''\''a'\''' ''\''<bleep>ing'\''' ''\''"test,"'\''' ''\''can'\''' '$'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:31:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:32:()]> printf 'Testing Q-transform method, fully unquoted: {'
>[{L4/S0/D0/R0}@test-subshell:33:()]> echo -e -n tracon ''\''This...' \' ''\''This'\''' ''\''can'\''\'\'''\''t'\''' ''\''*really*'\''' ''\''be'\''' ''\''a'\''' ''\''<bleep>ing'\''' ''\''"test,"'\''' ''\''can'\''' '$'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:34:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:35:()]> echo
>[{L4/S0/D0/R0}@test-subshell:39:()]> printf 'Testing K-transform method, double-quoted multi-arg: {'
>[{L4/S0/D0/R0}@test-subshell:40:()]> echo -e -n tracon ''\''This... '\''' ''\''This'\''' ''\''can'\''\'\'''\''t'\''' ''\''*really*'\''' ''\''be'\''' ''\''a'\''' ''\''<bleep>ing'\''' ''\''"test,"'\''' ''\''can'\''' '$'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:41:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:42:()]> printf 'Testing K-transform method, double-quoted single arg: {'
>[{L4/S0/D0/R0}@test-subshell:43:()]> echo -e -n tracon ''\''This... '\'' '\''This'\'' '\''can'\''\'\'''\''t'\'' '\''*really*'\'' '\''be'\'' '\''a'\'' '\''<bleep>ing'\'' '\''"test,"'\'' '\''can'\'' $'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:44:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:45:()]> printf 'Testing K-transform method, unquoted multi-arg: {'
>[{L4/S0/D0/R0}@test-subshell:46:()]> echo -e -n tracon ''\''This...' \' ''\''This'\''' ''\''can'\''\'\'''\''t'\''' ''\''*really*'\''' ''\''be'\''' ''\''a'\''' ''\''<bleep>ing'\''' ''\''"test,"'\''' ''\''can'\''' '$'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:47:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:48:()]> printf 'Testing K-transform method, unquoted single arg: {'
>[{L4/S0/D0/R0}@test-subshell:49:()]> echo -e -n tracon ''\''This...' \' ''\''This'\''' ''\''can'\''\'\'''\''t'\''' ''\''*really*'\''' ''\''be'\''' ''\''a'\''' ''\''<bleep>ing'\''' ''\''"test,"'\''' ''\''can'\''' '$'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:50:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:51:()]> printf 'Testing K-transform method, fully unquoted: {'
>[{L4/S0/D0/R0}@test-subshell:52:()]> echo -e -n tracon ''\''This...' \' ''\''This'\''' ''\''can'\''\'\'''\''t'\''' ''\''*really*'\''' ''\''be'\''' ''\''a'\''' ''\''<bleep>ing'\''' ''\''"test,"'\''' ''\''can'\''' '$'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:53:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:54:()]> echo
>[{L4/S0/D0/R0}@test-subshell:58:()]> printf 'Testing k-transform method, double-quoted multi-arg: {'
>[{L4/S0/D0/R0}@test-subshell:59:()]> echo -e -n tracon ''\''This... '\''' ''\''This'\''' ''\''can'\''\'\'''\''t'\''' ''\''*really*'\''' ''\''be'\''' ''\''a'\''' ''\''<bleep>ing'\''' ''\''"test,"'\''' ''\''can'\''' '$'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:60:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:61:()]> printf 'Testing k-transform method, double-quoted single arg: {'
>[{L4/S0/D0/R0}@test-subshell:62:()]> echo -e -n tracon ''\''This... '\'' '\''This'\'' '\''can'\''\'\'''\''t'\'' '\''*really*'\'' '\''be'\'' '\''a'\'' '\''<bleep>ing'\'' '\''"test,"'\'' '\''can'\'' $'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:63:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:64:()]> printf 'Testing k-transform method, unquoted multi-arg: {'
>[{L4/S0/D0/R0}@test-subshell:65:()]> echo -e -n tracon ''\''This...' \' ''\''This'\''' ''\''can'\''\'\'''\''t'\''' ''\''*really*'\''' ''\''be'\''' ''\''a'\''' ''\''<bleep>ing'\''' ''\''"test,"'\''' ''\''can'\''' '$'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:66:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:67:()]> printf 'Testing k-transform method, unquoted single arg: {'
>[{L4/S0/D0/R0}@test-subshell:68:()]> echo -e -n tracon ''\''This...' \' ''\''This'\''' ''\''can'\''\'\'''\''t'\''' ''\''*really*'\''' ''\''be'\''' ''\''a'\''' ''\''<bleep>ing'\''' ''\''"test,"'\''' ''\''can'\''' '$'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:69:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:70:()]> printf 'Testing k-transform method, fully unquoted: {'
>[{L4/S0/D0/R0}@test-subshell:71:()]> echo -e -n tracon ''\''This...' \' ''\''This'\''' ''\''can'\''\'\'''\''t'\''' ''\''*really*'\''' ''\''be'\''' ''\''a'\''' ''\''<bleep>ing'\''' ''\''"test,"'\''' ''\''can'\''' '$'\''it?\n'\'''
>[{L4/S0/D0/R0}@test-subshell:72:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:73:()]> echo
>[{L4/S0/D0/R0}@test-subshell:77:()]> printf 'Testing subshell method, double-quoted multi-arg: {'
>[{L4/S1/D0/R0}@test-subshell:78:()]> echo -e -n tracon 'This... ' This 'can'\''t' '*really*' be a '<bleep>ing' '"test,"' can 'it?
'
>[{L4/S0/D0/R0}@test-subshell:79:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:80:()]> printf 'Testing subshell method, double-quoted single arg: {'
>[{L4/S1/D0/R0}@test-subshell:81:()]> echo -e -n tracon 'This... This can'\''t *really* be a <bleep>ing "test," can it?
'
>[{L4/S0/D0/R0}@test-subshell:82:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:83:()]> printf 'Testing subshell method, unquoted multi-arg: {'
>[{L4/S1/D0/R0}@test-subshell:84:()]> echo -e -n tracon This... This 'can'\''t' '*really*' be a '<bleep>ing' '"test,"' can 'it?'
>[{L4/S0/D0/R0}@test-subshell:85:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:86:()]> printf 'Testing subshell method, unquoted single arg: {'
>[{L4/S1/D0/R0}@test-subshell:87:()]> echo -e -n tracon This... This 'can'\''t' '*really*' be a '<bleep>ing' '"test,"' can 'it?'
>[{L4/S0/D0/R0}@test-subshell:88:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:89:()]> printf 'Testing subshell method, fully unquoted: {'
>[{L4/S1/D0/R0}@test-subshell:90:()]> echo -e -n tracon This... This 'can'\''t' '*really*' be a '<bleep>ing' '"test,"' can 'it?'
>[{L4/S0/D0/R0}@test-subshell:91:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:92:()]> echo
>[{L4/S0/D0/R0}@test-subshell:96:()]> printf 'Testing filtering method, current syntax: {'
>[{L4/S0/D0/R0}@test-subshell:97:()]> eval echo -e -n ''\''tracon'\''' ''\''This... This cant *really* be a <bleep>ing test, can it?
'\'''
>>[{L4/S0/D0/R0}@test-subshell:97:()]> echo -e -n tracon 'This... This cant *really* be a <bleep>ing test, can it?
'
>[{L4/S0/D0/R0}@test-subshell:98:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:99:()]> printf 'Testing filter method, refined syntax: {'
>[{L4/S0/D0/R0}@test-subshell:100:()]> eval echo -e -n ''\''tracon'\''' '"This... This cant *really* be a <bleep>ing test, can it?
"'
>>[{L4/S0/D0/R0}@test-subshell:100:()]> echo -e -n tracon 'This... This cant *really* be a <bleep>ing test, can it?
'
>[{L4/S0/D0/R0}@test-subshell:101:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:102:()]> echo
>[{L4/S0/D0/R0}@test-subshell:106:()]> printf 'Testing filter method, double-quoted multi-arg: {'
>[{L4/S0/D0/R0}@test-subshell:107:()]> eval echo -e -n tracon 'This... ' This cant '*really*' be a '<bleep>ing' test, can 'it?
'
>>[{L4/S0/D0/R0}@test-subshell:107:()]> echo -e -n tracon This... This cant '*really*' be a test, can 'it?'
./test-subshell: line 107: bleep: No such file or directory
>[{L4/S0/D0/R1}@test-subshell:108:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:109:()]> printf 'Testing filter method, double-quoted single arg: {'
>[{L4/S0/D0/R0}@test-subshell:110:()]> eval echo -e -n tracon 'This... This cant *really* be a <bleep>ing test, can it?
'
>>[{L4/S0/D0/R0}@test-subshell:110:()]> echo -e -n tracon This... This cant '*really*' be a test, can 'it?'
./test-subshell: line 110: bleep: No such file or directory
>[{L4/S0/D0/R1}@test-subshell:111:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:112:()]> printf 'Testing filter method, unquoted multi-arg: {'
>[{L4/S0/D0/R0}@test-subshell:113:()]> eval echo -e -n tracon This... This cant '*really*' be a '<bleep>ing' test, can 'it?'
>>[{L4/S0/D0/R0}@test-subshell:113:()]> echo -e -n tracon This... This cant '*really*' be a test, can 'it?'
./test-subshell: line 113: bleep: No such file or directory
>[{L4/S0/D0/R1}@test-subshell:114:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:115:()]> printf 'Testing filter method, unquoted single arg: {'
>[{L4/S0/D0/R0}@test-subshell:116:()]> eval echo -e -n tracon This... This cant '*really*' be a '<bleep>ing' test, can 'it?'
>>[{L4/S0/D0/R0}@test-subshell:116:()]> echo -e -n tracon This... This cant '*really*' be a test, can 'it?'
./test-subshell: line 116: bleep: No such file or directory
>[{L4/S0/D0/R1}@test-subshell:117:()]> printf '}\n'
>[{L4/S0/D0/R0}@test-subshell:118:()]> printf 'Testing filter method, fully unquoted: {'
>[{L4/S0/D0/R0}@test-subshell:119:()]> eval echo -e -n tracon This... This cant '*really*' be a '<bleep>ing' test, can 'it?'
>>[{L4/S0/D0/R0}@test-subshell:119:()]> echo -e -n tracon This... This cant '*really*' be a test, can 'it?'
./test-subshell: line 119: bleep: No such file or directory
>[{L4/S0/D0/R1}@test-subshell:120:()]> printf '}\n'
Beginning testing; test string is: "This... This can't *really* be a <bleep>ing "test," can it?
"
declare -- TESTSTR=$'This... This can\'t *really* be a <bleep>ing "test," can it?\n'
Testing current syntax: {}
Testing Q-transform method, double-quoted multi-arg: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing Q-transform method, double-quoted single arg: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing Q-transform method, unquoted multi-arg: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing Q-transform method, unquoted single arg: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing Q-transform method, fully unquoted: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing K-transform method, double-quoted multi-arg: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing K-transform method, double-quoted single arg: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing K-transform method, unquoted multi-arg: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing K-transform method, unquoted single arg: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing K-transform method, fully unquoted: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing k-transform method, double-quoted multi-arg: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing k-transform method, double-quoted single arg: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing k-transform method, unquoted multi-arg: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing k-transform method, unquoted single arg: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing k-transform method, fully unquoted: {tracon 'This... ' 'This' 'can'\''t' '*really*' 'be' 'a' '<bleep>ing' '"test,"' 'can' $'it?
'}
Testing subshell method, double-quoted multi-arg: {tracon This... This can't *really* be a <bleep>ing "test," can it?
}
Testing subshell method, double-quoted single arg: {tracon This... This can't *really* be a <bleep>ing "test," can it?
}
Testing subshell method, unquoted multi-arg: {tracon This... This can't *really* be a <bleep>ing "test," can it?}
Testing subshell method, unquoted single arg: {tracon This... This can't *really* be a <bleep>ing "test," can it?}
Testing subshell method, fully unquoted: {tracon This... This can't *really* be a <bleep>ing "test," can it?}
Testing filtering method, current syntax: {tracon This... This cant *really* be a <bleep>ing test, can it?
}
Testing filter method, refined syntax: {tracon This... This cant *really* be a <bleep>ing test, can it?
}
Testing filter method, double-quoted multi-arg: {}
Testing filter method, double-quoted single arg: {}
Testing filter method, unquoted multi-arg: {}
Testing filter method, unquoted single arg: {}
Testing filter method, fully unquoted: {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment