mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-07-16 08:30:49 +02:00
commit bash-20160722 snapshot
This commit is contained in:
@@ -220,6 +220,11 @@ ${THIS_SH} ./dollar-at-star5.sub
|
||||
${THIS_SH} ./dollar-at-star6.sub
|
||||
${THIS_SH} ./dollar-at-star7.sub
|
||||
|
||||
# tests for expansions of $@ and ${a[@]} (vs. $* and ${a[*]}) on the RHS of
|
||||
# assignment statements with non-default IFS: $@ expands to args or array
|
||||
# members separated by spaces
|
||||
${THIS_SH} ./dollar-at-star8.sub
|
||||
|
||||
# tests for special expansion of "$*" and "${array[*]}" when used with other
|
||||
# expansions -- bugs through bash-2.05b
|
||||
${THIS_SH} ./dollar-star1.sub
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
function f {
|
||||
typeset -a a
|
||||
a=("$@")
|
||||
typeset IFS=,
|
||||
typeset a1="${a[@]} ${a[*]} $@ $* ${@} ${*}"
|
||||
typeset a2=${a[@]}\ ${a[*]}\ $@\ $*\ ${@}\ ${*} a3 a4
|
||||
a3="${a[@]} ${a[*]} $@ $* ${@} ${*}"
|
||||
a4=${a[@]}\ ${a[*]}\ $@\ $*\ ${@}\ ${*}
|
||||
unset -v IFS
|
||||
printf '%s\n' "a1=$a1" "a2=$a2" "a3=$a3" "a4=$a4"
|
||||
}
|
||||
|
||||
echo
|
||||
f a b c
|
||||
@@ -294,6 +294,11 @@ argv[3] = <'c'>
|
||||
|is|
|
||||
|a|
|
||||
|test|
|
||||
|
||||
a1=a b c a,b,c a b c a,b,c a b c a,b,c
|
||||
a2=a b c a,b,c a b c a,b,c a b c a,b,c
|
||||
a3=a b c a,b,c a b c a,b,c a b c a,b,c
|
||||
a4=a b c a,b,c a b c a,b,c a b c a,b,c
|
||||
xa|xb|xc
|
||||
xa|xb|xc
|
||||
a|b|c
|
||||
|
||||
+100
@@ -234,3 +234,103 @@ declare -a array=([0]=$'x\001y\177z')
|
||||
argv[1] = <x^Ay^?z>
|
||||
declare -a array=([0]=$'x\001y\177z')
|
||||
declare -A array=([$'x\001y\177z']=$'a\242b\002c' )
|
||||
abc
|
||||
def
|
||||
ghi
|
||||
jkl
|
||||
abc def ghi jkl
|
||||
xxabc
|
||||
def
|
||||
ghi
|
||||
jklyy
|
||||
xxabc def ghi jklyy
|
||||
abc
|
||||
def
|
||||
ghi
|
||||
jkl
|
||||
abc
|
||||
def ghi
|
||||
jkl
|
||||
abc
|
||||
def ghi
|
||||
jkl
|
||||
abc
|
||||
def ghi
|
||||
jkl
|
||||
xxabc
|
||||
def
|
||||
ghi
|
||||
jklyy
|
||||
xxabc
|
||||
def ghi
|
||||
jklyy
|
||||
abc
|
||||
def
|
||||
ghi
|
||||
jklabc
|
||||
def
|
||||
ghi
|
||||
jkl
|
||||
abc
|
||||
def ghi
|
||||
jklabc
|
||||
def ghi
|
||||
jkl
|
||||
abc:def ghi:jkl
|
||||
abc:def ghi:jkl
|
||||
abc:def ghi:jkl
|
||||
abc
|
||||
def ghi
|
||||
jkl
|
||||
abc:def ghi:jkl
|
||||
abc:def ghi:jkl
|
||||
abc
|
||||
def ghi
|
||||
jkl
|
||||
var=abc:def ghi:jkl
|
||||
abc:def ghi:jkl
|
||||
var=abc:def ghi:jkl
|
||||
abcdef ghijkl
|
||||
abcdef ghijkl
|
||||
abcdef ghijkl
|
||||
abcdef ghijkl
|
||||
abcdef ghijkl
|
||||
abcdef ghijkl
|
||||
abcdef ghijkl
|
||||
var=abcdef ghijkl
|
||||
abcdef ghijkl
|
||||
var=abcdef ghijkl
|
||||
abc
|
||||
def ghi
|
||||
jkl
|
||||
abc def ghi jkl
|
||||
abc def ghi jkl
|
||||
abc def ghi jkl
|
||||
abc
|
||||
def
|
||||
ghi
|
||||
jkl
|
||||
abc def ghi jkl
|
||||
abc def ghi jkl
|
||||
abc
|
||||
def
|
||||
ghi
|
||||
jkl
|
||||
var=abc def ghi jkl
|
||||
abc def ghi jkl
|
||||
var=abc def ghi jkl
|
||||
abc
|
||||
def ghi
|
||||
jkl
|
||||
[foo]
|
||||
[]
|
||||
[foo]
|
||||
[]
|
||||
[foo]
|
||||
[foo]
|
||||
[foo]
|
||||
[]
|
||||
[foo]
|
||||
[]
|
||||
[foo]
|
||||
[]
|
||||
|
||||
@@ -404,3 +404,4 @@ ${THIS_SH} ./exp5.sub
|
||||
${THIS_SH} ./exp6.sub
|
||||
${THIS_SH} ./exp7.sub
|
||||
${THIS_SH} ./exp8.sub
|
||||
${THIS_SH} ./exp9.sub
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
# expansion test cases from Posix interp 888
|
||||
|
||||
set "abc" "def ghi" "jkl"
|
||||
unset novar
|
||||
IFS=' ' # a space
|
||||
printf '%s\n' $*
|
||||
printf '%s\n' "$*"
|
||||
printf '%s\n' xx$*yy
|
||||
printf '%s\n' "xx$*yy"
|
||||
printf '%s\n' $@
|
||||
printf '%s\n' "$@"
|
||||
printf '%s\n' ${1+"$@"}
|
||||
printf '%s\n' ${novar-"$@"}
|
||||
printf '%s\n' xx$@yy
|
||||
printf '%s\n' "xx$@yy"
|
||||
printf '%s\n' $@$@
|
||||
printf '%s\n' "$@$@"
|
||||
IFS=':'
|
||||
printf '%s\n' "$*"
|
||||
var=$*; printf '%s\n' "$var"
|
||||
var="$*"; printf '%s\n' "$var"
|
||||
unset var
|
||||
printf '%s\n' ${var-$*}
|
||||
printf '%s\n' "${var-$*}"
|
||||
printf '%s\n' ${var-"$*"}
|
||||
printf '%s\n' ${var=$*}
|
||||
printf 'var=%s\n' "$var"
|
||||
unset var
|
||||
printf '%s\n' "${var=$*}"
|
||||
printf 'var=%s\n' "$var"
|
||||
|
||||
IFS='' # null
|
||||
printf '%s\n' "$*"
|
||||
var=$*; printf '%s\n' "$var"
|
||||
var="$*"; printf '%s\n' "$var"
|
||||
unset var
|
||||
printf '%s\n' ${var-$*}
|
||||
printf '%s\n' "${var-$*}"
|
||||
printf '%s\n' ${var-"$*"}
|
||||
printf '%s\n' ${var=$*}
|
||||
printf 'var=%s\n' "$var"
|
||||
unset var
|
||||
printf '%s\n' "${var=$*}"
|
||||
printf 'var=%s\n' "$var"
|
||||
printf '%s\n' "$@"
|
||||
|
||||
unset IFS
|
||||
printf '%s\n' "$*"
|
||||
var=$*; printf '%s\n' "$var"
|
||||
var="$*"; printf '%s\n' "$var"
|
||||
unset var
|
||||
printf '%s\n' ${var-$*}
|
||||
printf '%s\n' "${var-$*}"
|
||||
printf '%s\n' ${var-"$*"}
|
||||
printf '%s\n' ${var=$*}
|
||||
printf 'var=%s\n' "$var"
|
||||
unset var
|
||||
printf '%s\n' "${var=$*}"
|
||||
printf 'var=%s\n' "$var"
|
||||
printf '%s\n' "$@"
|
||||
|
||||
set --
|
||||
printf '[%s]\n' foo "$*"
|
||||
printf '[%s]\n' foo "$novar$*$(echo)"
|
||||
printf '[%s]\n' foo $@
|
||||
printf '[%s]\n' foo "$@"
|
||||
printf '[%s]\n' foo ''$@
|
||||
printf '[%s]\n' foo ''"$@"
|
||||
printf '[%s]\n' foo ''"$novar$@$(echo)"
|
||||
Reference in New Issue
Block a user