blob: 8dd6dab9c379b4a89d888cd8282c36aed4831d13 [file] [log] [blame]
Bram Moolenaar1aa5f1c2023-06-22 21:57:51 +01001#!/bin/ksh
2# Test variable modifiers
3# Variable=value
4Variable='value'
5Variable="value"
6VariableA="pat1xxpat2"
7VariableB="pat2xxpat1"
8echo ${#}
9echo ${#VariableA}
10echo ${VariableA#pat1}
11echo ${VariableA##pat1}
12echo ${VariableB%pat1}
13echo ${VariableB%%pat1}
14
15# This gets marked as an error
16Variable=${VariableB:+${VariableC:=eng}} # :+ seems to work for ksh as well as bash
17Variable=${VariableB:-${VariableC:-eng}} # :- is ksh and bash
18
19# This is OK
20Variable='${VariableB:+${VariableC:=eng}}'
21Variable='${VariableB:-${VariableC:-eng}}'
22Variable="${VariableB:+${VariableC:=eng}}" # :+ seems to work for ksh as well as bash
23Variable="${VariableB:-${VariableC:-eng}}" # :- is ksh and bash
24
25# These are OK
26: ${VariableB:-${VariableC:-eng}}
27: "${VariableB:-${VariableC:-eng}}"
28: '${VariableB:-${VariableC:-eng}}'
29
30# Another test
31Variable=${VariableB:-${VariableC:-${VariableD:-${VariableE:=eng}}}}
32 : ${VariableB:=${VariableC:-${VariableD:-${VariableE:=eng}}}}
33