| 
									
										
										
										
											2009-01-12 13:36:28 +00:00
										 |  |  | # 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[@]}" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-26 09:36:43 -05:00
										 |  |  | eval a2=("${a[@]/#/\"-iname \'\"}")  | 
					
						
							|  |  |  | recho "${a2[@]}" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-12 13:36:28 +00:00
										 |  |  | eval a2=("${a[@]/#/"-iname '"}")  | 
					
						
							|  |  |  | recho "${a2[@]}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | a2=("${a[@]/#/-iname \'}")  | 
					
						
							|  |  |  | recho "${a2[@]}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | eval a2=("${a[@]/#/-iname \'}")  | 
					
						
							|  |  |  | recho "${a2[@]}" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | set -- abc def | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | a2=("${@/#/"-iname '"}")  | 
					
						
							|  |  |  | recho "${a2[@]}" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-02-26 09:36:43 -05:00
										 |  |  | eval a2=("${@/#/\"-iname \'\"}")  | 
					
						
							|  |  |  | recho "${a2[@]}" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-12 13:36:28 +00:00
										 |  |  | 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 |