@@ -24,17 +24,21 @@ _TRUE='1'
2424_DEFAULT_ACCEPTABLE_ARG_LIST=(' --help|-h:bool' ' --foo|-f:print' ' --path:path-nil' )
2525
2626
27- arg_scrubber_alpha_numeric (){ printf ' %s' " ${@// [^a-z0-9A-Z]/ } " ; }
28-
29-
30- arg_scrubber_regex (){ printf ' %s' " $( sed ' s@.@\\.@g' <<< " ${@//[^[:print:]$'\t'$'\n']/}" ) " ; }
27+ arg_scrubber_alpha_numeric (){
28+ printf ' %s' " ${@// [^a-z0-9A-Z]/ } "
29+ }
3130
3231
3332arg_scrubber_list (){
3433 printf ' %s' " $( sed ' s@\.\.*@.@g; s@--*@-@g' <<< " ${@//[^a-z0-9A-Z,+_./@:-]/}" ) "
3534}
3635
3736
37+ arg_scrubber_number (){
38+ printf ' %s\n' " $( sed ' s@\.\.*@.@g; s@--*@-@g' <<< " ${@//[^0-9]/}" ) "
39+ }
40+
41+
3842arg_scrubber_path (){
3943 printf ' %s' " $( sed ' s@\.\.*@.@g; s@--*@-@g' <<< " ${@//[^a-z0-9A-Z ~+_./@:-]/}" ) "
4044}
@@ -47,18 +51,24 @@ arg_scrubber_posix(){
4751}
4852
4953
54+ arg_scrubber_regex (){
55+ printf ' %s' " $( sed ' s@.@\\.@g' <<< " ${@//[^[:print:]$'\t'$'\n']/}" ) "
56+ }
57+
58+
5059return_scrubbed_arg (){
5160 _raw_value=" ${1} "
5261 _opt_type=" ${2:?## Error - no option type provided to return_scrubbed_arg} "
5362 case " ${_opt_type} " in
54- ' bool' * ) _value=" ${_TRUE} " ;;
55- ' raw' * ) _value=" ${_raw_value} " ;;
56- ' path' * ) _value=" $( arg_scrubber_path " ${_raw_value} " ) " ;;
57- ' posix' * ) _value=" $( arg_scrubber_posix " ${_raw_value} " ) " ;;
58- ' print' * ) _value=" ${_raw_value// [^[:print:]]/ } " ;;
59- ' regex' * ) _value=" $( arg_scrubber_regex " ${_raw_value} " ) " ;;
60- ' list' * ) _value=" $( arg_scrubber_list " ${_raw_value} " ) " ;;
6163 ' alpha_numeric' * ) _value=" $( arg_scrubber_alpha_numeric " ${_raw_value} " ) " ;;
64+ ' bool' * ) _value=" ${_TRUE} " ;;
65+ ' list' * ) _value=" $( arg_scrubber_list " ${_raw_value} " ) " ;;
66+ ' number' * ) _value=" $( arg_scrubber_number " ${_raw_value} " ) " ;;
67+ ' path' * ) _value=" $( arg_scrubber_path " ${_raw_value} " ) " ;;
68+ ' posix' * ) _value=" $( arg_scrubber_posix " ${_raw_value} " ) " ;;
69+ ' print' * ) _value=" ${_raw_value// [^[:print:]]/ } " ;;
70+ ' raw' * ) _value=" ${_raw_value} " ;;
71+ ' regex' * ) _value=" $( arg_scrubber_regex " ${_raw_value} " ) " ;;
6272 esac
6373
6474 if [[ " ${_opt_type} " =~ ^' bool' * ]] || [[ " ${_raw_value} " == " ${_value} " ]]; then
0 commit comments