Isso é um padrão de substituição usando a expansão do parâmetro bash
.
Em ${f// /_}
:
-
As barras duplas
//
são para substituir todas as ocorrências de espaço por_
, se você colocar uma barra/
, somente o primeiro espaço será substituído -
O espaço está lá porque você está substituindo o espaço (com sublinhado)
O padrão é basicamente:
${parameter//find/replace}
Verifique man bash
para ter mais ideia.
Para chegar à seção Parameter Expansion
de man bash
de uma só vez:
LESS=+/'Parameter Expansion' man bash