Para imprimir ou atribuir uma variável quando você não tem o benefício de arrastar espaço em branco, pode usar ${}
para expansão de parâmetro em vez de $
...
echo "12${three}45"
Para seus propósitos, isso deve ser bom e é provavelmente a abordagem mais usada. Além disso, observe que echo "12$three"
funcionará bem. O personagem final é o que importa. Deve ser um caractere que não é válido em um nome de variável. Ainda assim, não faz mal usar echo "12${three}"
e acho que isso melhora a legibilidade.
Ocasionalmente, você pode ver algo assim ...
echo "12"$three"45"
Geralmente eu evitaria isso. Alternativamente, há printf ...
printf "12%d45\n" "$three"
Veja man printf
para detalhes, pois há muitos formatos disponíveis.