Como usar uma string de nome de arquivo com escape salva dentro de uma variável bash em um novo comando shell? [duplicado]

1

Problema:

Eu tenho uma string de escape salva dentro de uma variável:

escapedFileName='/dbDumps/Mon\ Oct\ \ 1\ 15\:22\:50\ UTC\ 2018.sql'

mas sempre que tento usar esse nome de arquivo no seguinte comando, recebo uma mensagem de erro informando que esse caminho não existe (mesmo que não).

/usr/bin/mysql -u root -pmypassword system < "$escapedFileName";

Quando eu uso o caminho e não a string, ele funciona:

/usr/bin/mysql -u root -pmypassword system < /dbDumps/Mon\ Oct\ \ 1\ 15\:22\:50\ UTC\ 2018.sql

O que estou fazendo de errado?

    
por Lukas 01.10.2018 / 19:35

1 resposta

1

Você não precisa escapar quando coloca o texto entre aspas.

Portanto, remova o \ s

escapedFileName='/dbDumps/Mon Oct  1 15:22:50 UTC 2018.sql'

E você não deve escapar do : , eles não precisam dele, e isso irá quebrá-lo.

    
por 01.10.2018 / 19:59

Tags