A idéia geral de como calcular o número de dias entre 'agora' e uma data recuperada do usuário por 'diálogo' está correta, mas o script tem muitos erros e erros como citações não correspondidas, comandos omitidos,% maiúsculasS
onde deveria estar em minúscula s
e assim por diante.
De qualquer forma, aqui está o script com erros corrigidos:
#!/bin/bash
#daysalive
: ${DIALOG=dialog}
USERDATE=$($DIALOG --stdout --title "CALENDAR" --calendar "Please choose a date..." 0 0 | awk -F/ '{ print $2"/"$1"/"$3 }')
case $? in
0)
echo "Date entered: $USERDATE.";;
1)
echo "Cancel pressed.";;
255)
echo "Box closed.";;
esac
DOBDATE=$(date --date $USERDATE +%s)
NOWDATE=$(date +%s)
echo -n "daysalive"
DAYSALIVE=$(( (NOWDATE - DOBDATE) / 86400 ))
echo $DAYSALIVE