Часто бывает необходимо экранировать всякие квадратные скобки и прочие символы в bash-e.
Мой пример:
Необходимо было выпаковать из zip-архива папку, содержащую определенные файлы.
Имя папки мы узнавали путем unzip -t file.zip, однако, ее имя ($DIRNAME) могло содержать квадратные скобки (например trololo[beta][ru]),
и при последующем исполнени unzip file.zip «$DIRNAME»/* мы получали filename not matched 🙁
решение:
экранировать квоченую строку командой printf вот так
DIRNAME="`printf '%q' "$DIRNAME"`"