commit bash-20170331 snapshot

This commit is contained in:
Chet Ramey
2017-04-03 10:31:01 -04:00
parent 124d67cde0
commit 7c4ef411b5
29 changed files with 1892 additions and 1549 deletions
+9
View File
@@ -276,4 +276,13 @@ ${THIS_SH} ./dollar-star7.sub
# problem through bash-4.4 in some parameter expansion contexts
${THIS_SH} ./dollar-star8.sub
# tests for expansions of "$@" when there are no positional parameter or when
# $1 == '' and the expansion is preceded by something that results in a quoted
# null string
${THIS_SH} ./dollar-at7.sub
# tests for expansions of $* when in an assignment context (no splitting) and
# IFS is null
${THIS_SH} ./dollar-star9.sub
exit 0
+46
View File
@@ -0,0 +1,46 @@
set -- ''
recho 1 ''"$@"
recho 2 """$@"
recho 3 "$@""$@"
recho 4 "$x""$@"
set --
echo -----
recho 1 ''"$@"
recho 2 """$@"
recho 3 "$@""$@"
recho 4 "$x""$@"
set -- X
echo ------
recho 1 ''"${@/*}"
recho 2 """${@/*}"
recho 3 "$x""${@/*}"
recho 4 ''"${@#X}"
recho 5 """${@#X}"
recho 6 "$x""${@#X}"
set --
echo -----
recho 1 ''"${@/*}"
recho 2 """${@/*}"
recho 3 "$x""${@/*}"
recho 4 ''"${@#X}"
recho 5 """${@#X}"
recho 6 "$x""${@#X}"
echo -----
recho 1 "$novar${*}$(echo)"
recho 2 ''"$novar${@}$(echo)"
+16
View File
@@ -0,0 +1,16 @@
set -- 1 2
IFS=
a=$* b=${*}
c=${*/} d=${*#} e=${*%} f=${*:1}
printf '<%s>' "$a" "$b" "$c" "$d" "$e" "$f"; echo
unset a b c d e f
: ${a=$*} ${b=${*}} ${c=${*/}}
: ${d=${*#}} ${e=${*%}} ${f=${*:1}}
printf '<%s>' "$a" "$b" "$c" "$d" "$e" "$f" ; echo
unset f g
f=${*,,} g=${*@Q}
printf '<%s>' "$f" "$g" ; echo
+50
View File
@@ -510,3 +510,53 @@ argv[1] = <a b c d>
<def>
<ghi>
<jkl>
argv[1] = <1>
argv[2] = <>
argv[1] = <2>
argv[2] = <>
argv[1] = <3>
argv[2] = <>
argv[1] = <4>
argv[2] = <>
-----
argv[1] = <1>
argv[2] = <>
argv[1] = <2>
argv[2] = <>
argv[1] = <3>
argv[1] = <4>
argv[2] = <>
------
argv[1] = <1>
argv[2] = <>
argv[1] = <2>
argv[2] = <>
argv[1] = <3>
argv[2] = <>
argv[1] = <4>
argv[2] = <>
argv[1] = <5>
argv[2] = <>
argv[1] = <6>
argv[2] = <>
-----
argv[1] = <1>
argv[2] = <>
argv[1] = <2>
argv[2] = <>
argv[1] = <3>
argv[2] = <>
argv[1] = <4>
argv[2] = <>
argv[1] = <5>
argv[2] = <>
argv[1] = <6>
argv[2] = <>
-----
argv[1] = <1>
argv[2] = <>
argv[1] = <2>
argv[2] = <>
<12><12><12><12><12><12>
<12><12><12><12><12><12>
<12><'1' '2'>
+11
View File
@@ -334,3 +334,14 @@ jkl
[]
[foo]
[]
< A >< B >< A >< B >
< A >< B >< A >< B >
< A >< B >< a >< b >
< A >< B >< A >< B >
< A >< B ><' A '><' B '>
-----
< A >< B >< A >< B >
< A >< B >< A >< B >
< A >< B >< a >< b >
< A >< B >< A >< B >
< A >< B ><' A '><' B '>
+1
View File
@@ -405,3 +405,4 @@ ${THIS_SH} ./exp6.sub
${THIS_SH} ./exp7.sub
${THIS_SH} ./exp8.sub
${THIS_SH} ./exp9.sub
${THIS_SH} ./exp10.sub
+26
View File
@@ -0,0 +1,26 @@
set -- ' A ' ' B '
IFS=
printf '<%s>' ${*} ${*##}
echo
printf '<%s>' ${*} ${*/}
echo
printf '<%s>' ${*} ${*,,}
echo
printf '<%s>' ${*} ${*:1:2}
echo
printf '<%s>' ${*} ${*@Q}
echo
echo -----
printf '<%s>' ${@} ${@##}
echo
printf '<%s>' ${@} ${@/}
echo
printf '<%s>' ${@} ${@,,}
echo
printf '<%s>' ${@} ${@:1:2}
echo
printf '<%s>' ${@} ${@@Q}
echo