Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    probabile errore nelle stringhe in script bash

    Ciao, sto usando questo script per fare il backup di un sito:

    codice:
    #!/bin/bash
    
    # CONFIG #
    USER_DB="user001"
    PASSWORD_DB="pass001;"
    DBNAME="nomedb"
    DIR_BACKUP="/root/";
    PROJECT_DIR="/srv/www/htdocs/workingprogress/001"
    
    
    TODAY=`date +%Y-%m-%0e`;
    SQLFILE=progetto${TODAY}.sql
    GZIPFILE=progetto${TODAY}.tgz
    
    CMD="mysqldump -u\"${USER_DB}\" -p\"${PASSWORD_DB}\" ${DBNAME} > ${PROJECT_DIR}${SQLFILE}";
    
    echo $CMD
    `$CMD`
    La cosa che crea problemi è la password con il ; finale (che non posso cambiare).

    In pratica come vedete dallo script do un echo del comando e ricevo:

    codice:
    mysqldump --user="user001" --password="pass001;" nomedb> /srv/www/htdocs/workinprogress/001/progetto2008-11-25.sql
    Se copio e incollo nella shell questo comando funziona perfettamente, mentre se eseguito nello script ottengo:

    codice:
    mysqldump: Got error: 1045: Access denied for user '"user001"'@'localhost' (u
    sing password: YES) when trying to connect
    Siccome il comando da shell funziona, penso sia una problematica dello script, sapete darmi una mano?

    Grazie, ciao

  2. #2
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    utilizza gli apici singoli per la variabile relativa alla password e dovresti risolvere...
    ovvero
    codice:
    PASSWORD_DB='pass001;'
    ciao
    slack? smack!

  3. #3
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    grazie per la risposta, ma purtroppo ottengo lo stesso errore

  4. #4
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    Originariamente inviato da gianiaz
    grazie per la risposta, ma purtroppo ottengo lo stesso errore
    proteggi il punto e virgola con un backslack, mantenento pero' il doppio quote:
    codice:
    PASSWORD_DB="pass001\;"
    :-)
    slack? smack!

  5. #5
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    purtroppo avevo già provato, stesso errore.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.