Na verdade estou bloqueando uma coisa estúpida ... mas não consigo entender.
Temos um repositório git no qual temos nossos arquivos php e nosso patch sql.
Toda vez que eu atualizar meu repo, eu tenho que verificar se qualquer patch sql tem que ser jogado.
Para evitar a procura de um que eu possa jogar, eu fiz um pequeno script que me dava todos os arquivos sql que o meu último git pull me dava:
find $MY_DIR/scripts/sandbox/migrations -type f -newermt $(date +'%Y-%m-%d') ! -newermt $(date +'%Y-%m-%d' --date="tomorrow") -not -path "$MY_DIR/scripts/sandbox/migrations/generated/*"
Isso me dá uma saída parecida com essa
/home/carpette/www/myFolder/scripts/sandbox/migrations/done/2017.12.14 - script1.sql
/home/carpette/www/myFolder/scripts/sandbox/migrations/done/2017.09.28 - script2.sql
/home/carpette/www/myFolder/scripts/sandbox/migrations/done/2017.12.15 - script3.sql
/home/carpette/www/myFolder/scripts/sandbox/migrations/done/2017.12.12 - script4.sql
Agora, estou tentando criar esses arquivos automaticamente no mysql.
Eu tentei fazer algo assim:
mysql myDataBase < $(./myStript.sh)
Mas recebo uma mensagem de erro com ambiguous redirection
.
Então eu tentei:
cat $(./myScript.sh) | mysql myDataBase
Mas agora, o espaço contido no caminho do meu nome de arquivo está bloqueando, e o mysql disse "nenhum arquivo existente" porque leva apenas /home/carpette/www/myFolder/scripts/sandbox/migrations/done/2017.09.28
como caminho do nome do arquivo.
Eu acho que tenho que escapar dos espaços em branco, mas eu não estou encontrando nenhuma solução elegante que funcione.
Update: Eu quero manter o myScript.sh independente, para que eu possa usá-lo em outras coisas.