1
0
Fork 0
vim/runtime/syntax/testdir/input/sh_03.sh
Daniel Baumann 0985b09abd
Adding upstream version 2:9.1.1230.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-21 11:09:31 +02:00

33 lines
971 B
Bash

#!/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}}}}