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