| # test cases for array quoting and escaping fixed post bash-3.2-release |
| |
| oIFS="$IFS" |
| |
| a=(a b c) |
| echo ${a[@]} |
| |
| a2=("${a[@]/#/"-iname '"}") |
| recho "${a2[@]}" |
| |
| echo "${dbg-"'hey'"}" |
| echo "${dbg-"hey"}" |
| echo "${dbg-'"'hey}" |
| echo "${dbg-'"hey'}" |
| |
| unset a a2 |
| |
| IFS= |
| a2=(${a[@]/#/"-iname '"}) |
| recho "${a2[@]}" |
| |
| IFS="$oIFS" |
| unset a a2 |
| |
| a=('a b' 'c d' 'e f') |
| |
| recho ${a[@]:1:2} |
| recho "${a[@]:1:2}" |
| |
| IFS= |
| recho ${a[@]:1:2} |
| recho "${a[@]:1:2}" |
| |
| IFS="$oIFS" |
| unset a a2 |
| |
| a=(abc def) |
| |
| # Prevent word splitting |
| #IFS= |
| |
| a2=("${a[@]/#/"-iname '"}") |
| recho "${a2[@]}" |
| |
| eval a2=("${a[@]/#/\"-iname \'\"}") |
| recho "${a2[@]}" |
| |
| eval a2=("${a[@]/#/"-iname '"}") |
| recho "${a2[@]}" |
| |
| a2=("${a[@]/#/-iname \'}") |
| recho "${a2[@]}" |
| |
| eval a2=("${a[@]/#/-iname \'}") |
| recho "${a2[@]}" |
| |
| set -- abc def |
| |
| a2=("${@/#/"-iname '"}") |
| recho "${a2[@]}" |
| |
| eval a2=("${@/#/\"-iname \'\"}") |
| recho "${a2[@]}" |
| |
| eval a2=("${@/#/"-iname '"}") |
| recho "${a2[@]}" |
| |
| unset a a2 |
| |
| IFS= |
| pat=('*.*') |
| case $(ls ${pat[@]} 2>/dev/null) in |
| '') echo '*.* BAD' ;; |
| *) echo '*.* OK' ;; |
| esac |
| |
| IFS="$oIFS" |
| unset a a2 pat |
| |
| IFS= |
| |
| s='abc' |
| |
| set - ${s/b/1 2 3} |
| echo $# |
| echo "$1" |
| |
| IFS="$oIFS" |
| unset s |
| |
| set -- ab cd ef |
| foo="var with spaces" |
| |
| IFS= |
| recho $foo |
| recho "$foo" |
| |
| recho ${foo}"$@" |
| recho ${foo}$@ |
| |
| array=(ab cd ef) |
| recho ${foo}"${array[@]}" |
| recho ${foo}${array[@]} |
| |
| recho $(echo $foo)"$@" |
| recho $(echo $foo)$@ |
| |
| a=('word1 with spaces' 'word2 with spaces') |
| set - ${a[@]/word/element} |
| echo $# |
| recho "$@" |
| recho $@ |
| |
| IFS="$oIFS" |
| unset a a2 array foo |