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

    assegnare a una varibile il nome di una dir con spazi

    Ciao,

    ho un nuovo problema..forse la soluzione è semplice ma non riesco a vederla..in uno dei primi post dicevo che devo leggere un elenco di file e cartelle con l'ls e il for..
    Voglio assegnare il nome della dir a una variabile..il problema che quando legge il nome, se la dir si chiama nome dir, nel leggere legge 2 nomi!! io voglio assegnare il nome della dir 'nome dir' a una variabile..come posso fare? Nell'elenco di file e dir ho sia singoli nomi che dir con nome avente spazi.
    Help me.
    ciao.
    PeppePegasus

  2. #2
    Utente di HTML.it L'avatar di GunMan
    Registrato dal
    Dec 2005
    Messaggi
    2,642
    normalmente si risolve racchiudendo la variabile tra doppi apici (o virgolette)
    Chaos A.D. Disorder unleashed.
    Starting to burn. Starting to lynch.
    Silence means death. Stand on your feet.
    Inner fear. Your worst enemy.

    Refuse / Resist

  3. #3
    Forse non mi sn spiegato bene, il codice che uso per leggere il nome del file o della directory è questo:

    for my_file in `ls` # Ciclo più esterno per leggere il nome del file
    do
    # echo "Nome file letto" $my_file
    risultato=`mysql --user=giuseppe -pgiuseppe DB_sodar -Bse "SELECT nome_file FROM tab_database WHERE nome_file = '${my_file}'"`;
    ....
    done

    Per esempio c'è un file che si chiama 'elaborazione per profili' che mi viene considerato come 3 file. Oppure se devo fare la stessa cosa sulle dir c'è una che si chiama 'profili' e non ho problemi, c'è un'altra che invece si chiama 'MT file' che viene letta come 2 dir..
    non ho idea di come fare in un modo unico a trattare i due tipi di nomi.
    Sai darmi una indicazione?
    grazie.ciao.
    PeppePegasus

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,526
    ad occhio,non potresti rinominare le cartelle in modo da metterci un undescore così ti eviti sbattimenti con il ciclo for?

  5. #5
    Originariamente inviato da peppepegasus
    Forse non mi sn spiegato bene, il codice che uso per leggere il nome del file o della directory è questo:

    for my_file in `ls` # Ciclo più esterno per leggere il nome del file
    do
    # echo "Nome file letto" $my_file
    risultato=`mysql --user=giuseppe -pgiuseppe DB_sodar -Bse "SELECT nome_file FROM tab_database WHERE nome_file = '${my_file}'"`;
    ....
    done

    Per esempio c'è un file che si chiama 'elaborazione per profili' che mi viene considerato come 3 file. Oppure se devo fare la stessa cosa sulle dir c'è una che si chiama 'profili' e non ho problemi, c'è un'altra che invece si chiama 'MT file' che viene letta come 2 dir..
    non ho idea di come fare in un modo unico a trattare i due tipi di nomi.
    Sai darmi una indicazione?
    grazie.ciao.
    Cambia il ciclo
    codice:
    for my_file in *
    do
    ....

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.