Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Condizione su nome di un file

    ciao,

    ho questo problema: se si verifica una condizione devo fare eseguire un altro controllo, ossia l'esistenza di un file il cui nome inizia con i valori delle variabili $anno_estr $mese_estr_let, il resto del nome (che non è finito) non mi interessa ma poi deve finire con .tfc. Non riesco a trovare la sintassi giusta per far prendere all'if la condizione sul nome come detto. Ho provato diverse alternative ma niente..ecco il codice che uso:

    if [ "$risultato" = "$my_mtfile" ] ;
    then #continue # echo $my_digfile "già presente nel DB"
    echo "nome file da cercare inizio" $anno_estr$mese_estr_let * .tfc
    elif [ -f $anno_estr$mese_estr_let'?.tfc' ] ; then
    echo "files con tfc" $per_copia$ANNO/$mese_estr/files_mt_con_tfc
    cp $my_mtfile $per_copia$ANNO/$mese_estr/files_mt_con_tfc
    inserito=`mysql --user=giuseppe -pgiuseppe DB_sodar -Bse "INSERT INTO dati_sodar_files_mt VALUES (id, id_tipo, '${data}', '${ora}', '', '${my_mtfile}')" `;
    else
    echo "files senza tfc" $per_copia$ANNO/$mese_estr/files_mt_senza_tfc
    echo "nome file da cercare" $anno_estr$mese_estr_let'?.tfc'
    cp $my_mtfile $per_copia$ANNO/$mese_estr/files_mt_senza_tfc
    inserito=`mysql --user=giuseppe -pgiuseppe DB_sodar -Bse "INSERT INTO dati_sodar_files_mt VALUES (id, id_tipo, '${data}', '${ora}', '', '${my_mtfile}')" `;
    fi

    let "cont_mt+=1"
    else
    continue
    fi

    Qualcuno sa darmi una dritta?
    grazie.
    PeppePegasus

  2. #2
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570
    riassumo le cose da fare:
    - usare le variabili con questa sintassi: ${variabile} invece di $variabile
    - usare i doppi apici (") quando contengono le variabili invece del singolo apice (')
    - usare carattere di escape (\) per proteggere i doppi apici qualora ripetuti piu' volte sulla stessa riga

    le ragioni sono spiegate se non ricordo male in "man bash" o sicuramente sulla guida avanzata di bash scripting

    ciao

    ps: hanno inventato il tag CODE per inserire il testo di script nei messaggi sul forum
    slack? smack!

  3. #3
    emh..forse non mi sono spiegato, non lo so.. non penso nel mio caso sia un problema di quoting o di ciò che dici..il mio problema sta qui

    elif [ -f $anno_estr$mese_estr_let '.tfc' ] ; then


    il problema è vicino a '.tfc' quella sintassi non è giusta, è una che ho provato ma nond a il risultato sperato. Per dire cerca i file che iniziano con il valore di anno-estratto, continuano con mese_let_estr e poi quello che vuoi ma che però finiscano con .tfc come si fa??
    grazie.
    PeppePegasus

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 © 2025 vBulletin Solutions, Inc. All rights reserved.