illumos-port-bash/tests/dollar-at-star9.sub

279 lines
3.2 KiB
Plaintext

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
IFS=$' \t\n' # or any other IFS
set -- ''
recho ${v= "$*" }
recho "$v"
unset -v v
IFS=''
set -- '' ''
recho ${v= "$*" }
recho "$v"
unset -v v
IFS=$' \t\n' # or any other IFS
unset -v v
set -- ''
recho ${v= "$@" }
recho "$v"
unset v
recho ${v= $@ }
recho "$v"
unset v
recho ${v= $@"" }
recho "$v"
unset v
recho ${v= ${@} }
recho "$v"
unset v
recho ${v= ${@}"" }
recho "$v"
unset v
set -- '' ''
recho ${v= $@ }
recho "$v"
unset v
recho ${v= "$@" }
recho "$v"
unset v
recho "${v= $@}"
recho "$v"
unset v
recho ${v= "$@"}
recho "$v"
unset v
IFS=
set -- X
X=X
recho ${0+ "$@" }
recho ${0+ $@ }
recho ${0+ $* }
recho ${0+ "$X" }
recho ${0+ $X }
recho ${0+ $X }
recho ${0+ "$@" }
recho "$Y"
unset Y
recho ${0+ $@ }
recho "$Y"
unset Y
recho ${0+ $* }
recho "$Y"
unset Y
recho ${Y:= "$X" }
recho "$Y"
unset Y
recho ${Y:= $X }
recho "$Y"
unset Y
recho ${Y:= $X }
recho "$Y"
unset Y
IFS=
unset -v X Y
set -- X Y
X='X Y'
recho ${0+ "$@" }
recho ${0+ $@ }
recho ${0+ $* }
recho ${0+ "$X" }
recho ${0+ $X }
recho ${0+ $X }
recho ${Y:= "$@" }
recho "$Y"
unset Y
recho ${Y:= $@ }
recho "$Y"
unset Y
recho ${Y:= $* }
recho "$Y"
unset Y
recho ${Y:= "$X" }
recho "$Y"
unset Y
recho ${Y:= $X }
recho "$Y"
unset Y
recho ${Y:= $X }
recho "$Y"
unset Y
IFS=''
set -- ' X '
unset x y
x=$*
y=${*:1}
recho "$x"
recho "$y"
unset x y
recho ${x=$*}
recho ${y=${*:1}}
set -- b a
declare -A A=([b]= [a]=)
x=$*
y=${!A[*]}
unset A
recho "$x"
recho "$y"
unset x y
recho ${x=$*}
recho ${y=${!A[*]}}
unset x y
recho ${x-$*}
recho ${y-${!A[*]}} # this isn't right yet
IFS=:
set -- a b
ind=*
unset x y
x=$*
y=${!ind}
recho "$x"
recho "$y"
unset x y
recho ${x-$*}
recho ${y-${!ind}} # this isn't right yet
unset x y
recho ${x=$*}
recho ${y=${!ind}}
set -- ' X '
IFS=$' \t\n'
x=$*
y=${!ind};
recho "$x"
recho "$y"
IFS=''
x=$*
y=${!ind}
recho "$x"
recho "$y"
IFS=:
set -- a b
ind=*
unset x y
recho ${x-$*}
recho ${y-${!ind}} # this isn't right yet
unset x y
recho ${x=$*}
recho ${y=${!ind}}
set -- ' X '
IFS=$' \t\n'
unset x y
x=$*
y=${!ind};
recho "$x"
recho "$y"
IFS=''
x=$*
y=${!ind}
recho "$x"
recho "$y"
IFS=''
set -- $'\177'
unset -v var
recho "${*:1}"
var=${*:1}
recho "$var"
unset var
recho ${var=${*:1}}
recho "$var"
declare -a a=($'\177')
unset var
var=${a[*]:0}
recho "$var"
unset var
recho ${var=${a[*]:0}}
unset var
set -- $'\177'
ind='*'
recho $*
var=${!ind}
recho "$var"
unset var
recho ${var=${!ind}}
recho "$var"
declare -A A=([0]=$'\177')
unset var
var=${A[*]:0}
recho "$var"
# this isn't really right yet
unset var
recho ${var=${A[*]:0}}
recho "$var"