Начало строки соответствует ^
, конец строки $
в sed:
sed 's/^:*\|:*$//g'
Расширения параметров #
и %
работают только на одном конце строки ине могут быть объединены, поэтому нам нужны две команды:
shopt -s extglob
test=${test##+(:)}
test=${test%%+(:)}
Опция extglob
включает +(:)
, что соответствует :+
в регулярных выражениях, то есть соответствует: один или несколько раз.#
и %
удвоены, чтобы соответствовать жадно.