#!/bin/bash . ./Common ############################################################################### tst "substitutions: expand \$ from regular var" -q X=foo <<EOF !-s X=?*? { Y=\$\$ } EOF expect <<EOF Y=foo EOF #------------------------------------------------------------------------------ tst "substitutions: expand \$ from FN" -q F1=bar <<EOF !-s FN=?*? { Y=\$\$ } EOF expect <<EOF Y=bar EOF #------------------------------------------------------------------------------ tst_fail "substitutions: expand \$ without match" <<EOF !-s X=\$\$ EOF expect <<EOF s:2: \$\$ without match EOF #------------------------------------------------------------------------------ tst "substitutions: assign to \$ from regular var" -q X=bar <<EOF !-s X=?*? { \$=foo } EOF expect <<EOF X=foo EOF #------------------------------------------------------------------------------ tst "substitutions: assign to \$ from FN" -q F1=foo <<EOF !-s FN=?*? { \$=bar } EOF expect <<EOF F1=bar EOF #------------------------------------------------------------------------------ tst_fail "substitutions: assign to \$ without match" <<EOF !-s \$=bar EOF expect <<EOF s:2: \$ without match EOF #------------------------------------------------------------------------------ tst "substitutions: match \$ from regular var" -q X=bar <<EOF !-s X=?*? { \$=b(*) { Y=\$1 } } EOF expect <<EOF Y=ar EOF #------------------------------------------------------------------------------ tst "substitutions: match \$ from FN" -q F1=foo <<EOF !-s FN=?*? { \$=(*)o { Y=\$1 } } EOF expect <<EOF Y=fo EOF #------------------------------------------------------------------------------ tst_fail "substitutions: match \$ without match" <<EOF !-s \$=* { X=X } EOF expect <<EOF s:2: \$ without match EOF ###############################################################################