|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2007
Messaggi: 1374
|
Sintassi Script Bash
Ciao a tutti,
sto creando uno script bash in ambiente Linux ma mi sono arenato a questo punto: `date -d "-1 month" +%Y/%m/%d` Questa semplice istruzione non fa altro che calcolare la data antecedente a quella odierna di 1 mese. Il mio problema è che il numero di mesi (nell'esempio era 1) deve essere dato in input, al che modifico l'istruzione in questo modo: `date -d "-$1 month" +%Y/%m/%d ` , dove per $1 s'intende il primo argomento passato allo script. Qui nasce il dramma!!. Questa istruzione così com'è non è buona, non riesco a fargli dire che $1 = valore passato in input. Mi costruisco una stringa (nome variabile: STRINGA) che contiene esattamente il comando voluto (usando anche l'argomento in input) ma quando vado a fare DATACERCATA=`$STRINGA` (cioè voglio assegnare alla variabile DATACERCATA il valore del comando contenuto nella variabile STRINGA) ottengo questo errore: date: too many non-option arguments: +%Y/%m/%d . Qualcuno sa dirmi come risolvere questo problema di sintassi? Un grazie in anticipo
__________________
“Meglio morire una volta sola, che temere la morte tutta la vita.” (Giulio Cesare) |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
prova.sh Codice:
#!/bin/bash D=`date -d "-$1 month" +%Y/%m/%d` echo $D 2007/07/08 prova.sh 2 2007/06/08
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2007
Messaggi: 1374
|
il file di script non è .sh, questo cambia qualcosa?.
__________________
“Meglio morire una volta sola, che temere la morte tutta la vita.” (Giulio Cesare) |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
No. Io in genere metto .sh per rendere chiaro che si tratta di uno script della shell e non di un eseguibile.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2007
Messaggi: 1374
|
Domani che rientro in ufficio riprovo, il mio solo dubbio a questo punto è che ci sia qualche carattere sporco e non me ne sia accorto. Ti ringrazio molto. Ciao
P.S. Secondo te l'errore che ho " date: too many non-option arguments: +%Y/%m/%d " a cosa sia dipeso?, precisamente cosa potrebbe causare un errore simile?
__________________
“Meglio morire una volta sola, che temere la morte tutta la vita.” (Giulio Cesare) Ultima modifica di Duce : 08-08-2007 alle 20:56. Motivo: Aggiunta |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2007
Messaggi: 1374
|
Ho riprovato la stringa di comando ed in effetti adesso funziona. Proprio non so spiegarmelo. Ancora una volta penso che ci fosse un carattere sporco che mi sballava la stringa. Grazie 1000
__________________
“Meglio morire una volta sola, che temere la morte tutta la vita.” (Giulio Cesare) |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:50.




















