Bonjour, j'ai un problème de connaissance en script shell. Je veux faire une commande toute simple qui me permet de sauvegarder une base de donnée dans un container docker

Voici ce qui est affiché dans la console après execution (il y a des echo) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
stretch@DebianStretch:~/scripts/backup/mssql$ ./backup_mssql.sh 
sql1 /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P MOTDEPASSE -Q "BACKUP LOG WITH NORECOVERY DATABASE [vega] TO DISK = N'/var/opt/mssql/backup/MSSQL_vega-2017-11-07-20.31.43.bak' WITH NOFORMAT, NOINIT, NAME = 'vega', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
---
Sqlcmd: 'LOG" "WITH" "NORECOVERY" "DATABASE" "[vega]" "TO" "DISK" "=" "N'/var/opt/mssql/backup/MSSQL_vega-2017-11-07-20.31.43.bak'" "WITH" "NOFORMAT," "NOINIT," "NAME" "=" "'vega'," "SKIP," "NOREWIND," "NOUNLOAD," "STATS" "=" "10""': Unexpected argument. Enter '-?' for help.
et voici mon script

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
HOST="localhost"
LOGIN="SA"
PASSWORD="MOTDEPASSE"
DATABASE="vega"
DATEBACKUP=$(date +%Y-%m-%d-%H.%M.%S)
CMDLINE="BACKUP LOG WITH NORECOVERY DATABASE [$DATABASE] TO DISK = N'/var/opt/mssql/backup/MSSQL_$DATABASE-$DATEBACKUP.bak' WITH NOFORMAT, NOINIT, NAME = '$DATABASE', SKIP, NOREWIND, NOUNLOAD, $
CMDLINE_COMPLET="sql1 /opt/mssql-tools/bin/sqlcmd -S $HOST -U $LOGIN -P $PASSWORD -Q \"$CMDLINE\""
echo $CMDLINE_COMPLET
echo "---"
docker exec -it $CMDLINE_COMPLET
la commande que je veux executer est toute simple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
docker exec -it sql1 /opt/mssql-tools/bin/sqlcmd -S $HOST -U $LOGIN -P $PASSWORD -Q "BACKUP LOG WITH NORECOVERY DATABASE [$DATABASE] TO DISK = N'/var/opt/mssql/backup/MSSQL_$DATABASE-$DATEBACKUP.bak' WITH NOFORMAT, NOINIT, NAME = '$DATABASE', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
comment faire pour éviter cette erreur à l'execution du script ? Le shell me met tout les mots entre parenthèse, c'est une erreur bizarre que je n'arrive pas à résoudre :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Sqlcmd: 'LOG" "WITH" "NORECOVERY" "DATABASE" "[vega]" "TO" "DISK" "=" "N'/var/opt/mssql/backup/MSSQL_vega-2017-11-07-20.31.43.bak'" "WITH" "NOFORMAT," "NOINIT," "NAME" "=" "'vega'," "SKIP," "NOREWIND," "NOUNLOAD," "STATS" "=" "10""': Unexpected argument. Enter '-?' for help.
J'ai pourtant mis des