bash-5.0 distribution sources and documentation
This commit is contained in:
46
tests/array22.sub
Normal file
46
tests/array22.sub
Normal file
@@ -0,0 +1,46 @@
|
||||
# This isn't perfect behavior, but it establishes a baseline and will provide
|
||||
# a way to detect behavior changes
|
||||
|
||||
echo a1
|
||||
a[0]= a[1]=; recho "${a[@]:-y}"
|
||||
unset a
|
||||
|
||||
echo a2
|
||||
a[1]=; recho "${a[@]:-y}"
|
||||
a[1]=; recho "${a[*]:-z}"
|
||||
unset a
|
||||
|
||||
echo a3
|
||||
a[0]= a[1]=x; recho "${a[@]:-y}"
|
||||
unset a
|
||||
|
||||
echo a4
|
||||
a[0]= a[1]=x; recho ${a[@]:+y}
|
||||
unset a
|
||||
|
||||
echo p1
|
||||
set '' ''
|
||||
recho "${@:-y}"
|
||||
|
||||
shift $#
|
||||
|
||||
echo p2
|
||||
set '' x
|
||||
recho "${@:-y}"
|
||||
|
||||
shift $#
|
||||
|
||||
echo p3
|
||||
set '' x
|
||||
recho ${@:+y}
|
||||
|
||||
# problems with * and null expansions dating back to bash's earliest days
|
||||
A=(''); set -- ''
|
||||
|
||||
echo "<${A[*]:-X}>" "<${*:-X}>" "<${A:-X}>" "<${A[0]:-X}>"
|
||||
|
||||
IFS=
|
||||
A=('' ''); set -- '' ''
|
||||
B=''
|
||||
|
||||
echo "<${A[*]:-X}>" "<${*:-X}>" "<${B:-X}>" "<${B[*]:-X}>"
|
||||
Reference in New Issue
Block a user