2013-04-01 8 views
9

Ho uno script di bash e ne ho bisogno per soddisfare alcune condizioni se è il 1 ° giorno del mese.
Ho scritto questo codice

BASH controlla se oggi è il 1 ° giorno del mese

ifStart=`date '+%d'` 
if [$ifStart == 01] 
then 
test=`/bin/date --date='1 day ago' +'%Y-%m'` 
echo $test 
fi 

mi aspetto per mostrare 2013-03 oggi, ma ottengo un messaggio d'errore:
Linea 2 comando non trovato.

test=`/bin/date --date='1 day ago' +'%Y-%m'` 

questa parte funziona bene senza se.
Qualche suggerimento?

risposta

14

Il comando che non viene trovato è in realtà dovuto alla dichiarazione if. Avete bisogno di spazi:

if [ $ifStart == 01 ] 

Altrimenti [$ifStart verrà interpretato come un comando.

+0

Grazie, questo ha aiutato. – erizo

Problemi correlati