Ho iniziato da poco a programmare in bash script e trovo ancora dei problemi con i comandi find e grep. Devo fare un comando che fa dei confronti su due cartelle. Per esaminare se i file della prima cartella esistono nella seconda e se non esistono copiarli faccio, dopo due cicli for che mi aprono rispettivamente la prima e la seconda cartella:
dove dir2 è il pathname della mia seconda directory file_name_dir1 è la variabile dove sono memorizzati i nomi dei file presenti nella prima cartella file1 è la variabile del primo ciclo for e dove sono memorizzati i file della prima cartella. Andando ad eseguirlo mi da che l'istruzione dentro if è sbaglia, e ho provato con grep e in altri modi ma mi da sempre lo stesso errore. Spero che riuscite a darmi una mano! grazie in anticipo Edit è un compito e sinceramente mi interessa capire come funziona che ci ho perso molto tempo non trovando una soluzione.
|
@trip93: non puoi mettere
intendendo che se |
Segui questa domanda
Via email:Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui
Via RSS:Basi di markdown
- *corsivo* o __corsivo__
- **grassetto** o __grassetto__
- collegamento:[testo](http://url.com/ "titolo")
- immagine?
- elenco numerato: 1. Foo 2. Bar
- per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
- è supportato anche semplice HTML
Tag:
domanda posta: 08 Nov '14, 11:34
domanda visualizzata: 2,213 volte
ultimo aggiornamento: 08 Nov '14, 15:40
@trip93: dovresti modificare la domanda aggiungendo alcune informazioni, le risposte alle seguenti domande:
@trip93: avevo detto di modificare la domanda, non di scrivere una risposta: le risposte servono per proporre soluzioni.
lo so scusa ma visto che per risponderti interamente alle domande che mi hai fatto (punto 3) non mi bastavano le parole allora ho risposto così almeno è più completo. comunque l'errore che mi da è alla riga postata all'inizio e mi dice: atteso operatore condizionale, errore di sintassi vicino a "$dir2" ed infine mi riporta la riga dell'if.
si grazie mille infatti così funziona. Comunque mi sono accorto di un'altra cosa: non riesco a capire perchè non riesco a fare questa cosa verifica se quello nella prima directory sia piu' recente; in tal caso lo copia, altrimenti no. con questo pezzo
@trip93: stai di nuovo usando find dentro [[ ]].
Per quanto riguarda la prima domanda, trasformo il mio commento in risposta, così puoi accettarla in modo da segnalare come risolta la discussione.