Jajj, ez nagyon nem jó! Olyan változót ne olvass ki többször, amelynek egy értékére vagy kíváncsi, de az érték közben változhat. Például március 31-én éjfélkor kiolvasva simán március elsejét kaphatsz.
Vagy date +%s formát használj, s ezt a későbbiekben szintén date-tel konvertáld vissza - ez az érték viszont már nem mozog -, vagy tárold stringbe a date megfelelő formátumú kimenetét, amelyet szedj szét cut-tal:
datum=`date '+%-Y-%-m-%-d'`
ev=`cut -d- -f1 <<<"$datum"`
ho=`cut -d- -f2 <<<"$datum"`
nap=`cut -d- -f3 <<<"$datum"`
tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE