summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/testdir/input/sh_03.sh
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/testdir/input/sh_03.sh')
-rw-r--r--runtime/syntax/testdir/input/sh_03.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/runtime/syntax/testdir/input/sh_03.sh b/runtime/syntax/testdir/input/sh_03.sh
new file mode 100644
index 0000000..8dd6dab
--- /dev/null
+++ b/runtime/syntax/testdir/input/sh_03.sh
@@ -0,0 +1,33 @@
+#!/bin/ksh
+# Test variable modifiers
+# Variable=value
+Variable='value'
+Variable="value"
+VariableA="pat1xxpat2"
+VariableB="pat2xxpat1"
+echo ${#}
+echo ${#VariableA}
+echo ${VariableA#pat1}
+echo ${VariableA##pat1}
+echo ${VariableB%pat1}
+echo ${VariableB%%pat1}
+
+# This gets marked as an error
+Variable=${VariableB:+${VariableC:=eng}} # :+ seems to work for ksh as well as bash
+Variable=${VariableB:-${VariableC:-eng}} # :- is ksh and bash
+
+# This is OK
+Variable='${VariableB:+${VariableC:=eng}}'
+Variable='${VariableB:-${VariableC:-eng}}'
+Variable="${VariableB:+${VariableC:=eng}}" # :+ seems to work for ksh as well as bash
+Variable="${VariableB:-${VariableC:-eng}}" # :- is ksh and bash
+
+# These are OK
+: ${VariableB:-${VariableC:-eng}}
+: "${VariableB:-${VariableC:-eng}}"
+: '${VariableB:-${VariableC:-eng}}'
+
+# Another test
+Variable=${VariableB:-${VariableC:-${VariableD:-${VariableE:=eng}}}}
+ : ${VariableB:=${VariableC:-${VariableD:-${VariableE:=eng}}}}
+