diff options
Diffstat (limited to 'runtime/syntax/testdir/input/sh_10.sh')
-rw-r--r-- | runtime/syntax/testdir/input/sh_10.sh | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/runtime/syntax/testdir/input/sh_10.sh b/runtime/syntax/testdir/input/sh_10.sh new file mode 100644 index 0000000000..be463c3da0 --- /dev/null +++ b/runtime/syntax/testdir/input/sh_10.sh @@ -0,0 +1,49 @@ +#!/bin/ksh + +# This script is a test file for ksh93 shared-state +# command substitutions (subshares) and mksh value +# substitutions (valsubs). + +# ====== +# Below is subshare syntax supported by both ksh93 and mksh. +print ${ echo one } +print ${ echo two +} +print ${ +echo three } +print ${ echo 'four'; } +print ${ echo 'five' ;} +print ${ echo 'six' +} +print ${ echo 'seven' } +echo ${ print 'eight' } +typeset nine=${ pwd; } + +# ====== +# Value substitutions of the form ${|command} are only +# supported by mksh, not ksh93. +if ! command eval '((.sh.version >= 20070703))' 2>/dev/null; then + valsubfunc() { + REPLY=$1 + } + echo ${|valsubfunc ten} + print "${|valsubfunc eleven;}" + printf '%s' "${|valsubfunc twelve }" + unlucky=${|valsubfunc thirteen +} + typeset notafloat=${|valsubfunc notanumber } + print $unlucky $notanumber + ${|echo foo} + ${|echo bar +} +fi + +# ====== +# Shared-state command substitutions using the syntax ${<file;} +# are only supported by ksh93, not mksh. +echo ${ + printf %s str +} > /tmp/strfile +echo ${</tmp/strfile;} + +exit 0 |