Gostaria de escapar do caminho com espaço em branco, o que funciona bem quando o uso diretamente assim:
$ printf '%q' "/path/to/first dir/dir/"
/path/to/first\ dir/dir/
Quando eu uso uma variável em vez de string, embora o retorno seja uma string sem nenhum espaço em branco:
$ testpath="/path/to/first dir/dir/" && printf '%q' $testpath
/path/to/firstdir/dir/
Existe alguma maneira de escapar do espaço em branco em um caminho com printf e uma variável. Ou qualquer outra solução simples sem usar awk/sed/regex?
Você precisa citar a variável
Aprenda a citar corretamente no shell, é muito importante: