Это:
${test//\/:}
заменит все экземпляры (начиная с двойной косой черты //
в начале) /:
ни с чем (без второй неэкранированной косой черты).
Это:
${test/\//:}
Заменит первый экземпляр (поскольку в качестве разделителя используется одинарная косая черта) /
(который был экранирован) на :
.
И это:
${test//\//:}
Следует заменить все совпадения /
на :
.
Пример:
$ test="/this/isjust/atestvariable/:for/:stringoperation"
$ echo ${test//\/:}
/this/isjust/atestvariableforstringoperation
$ echo ${test/\//:}
:this/isjust/atestvariable/:for/:stringoperation
$ echo ${test//\//:}
:this:isjust:atestvariable::for::stringoperation