configura o tempo de data a partir da entrada do usuário no shell

0

Estou criando um script para verificar o funcionamento do RTC & por isso primeiro estou recebendo a data & tempo da entrada do usuário no formato yyyy mm dd hh:mm:ss .

read -p "Enter the date:" val
echo $val
date -s "${val}"

Agora estou recebendo o erro:

date: invalid date ‘2016 01 22 14:00

Por favor me ajude nisso. Agradecemos antecipadamente.

    
por jhonnash 22.01.2016 / 09:50

1 resposta

2

De página de manual :

DATE STRING
       The --date=STRING is a mostly free format human readable date string such as "Sun, 29 Feb 2004 16:21:42 -0800"
       or  "2004-02-29  16:21:42" or even "next Thursday".  A date string may contain items indicating calendar date,
       time of day, time zone, day of week, relative time, relative date, and numbers.  An empty string indicates the
       beginning  of  the  day.   The  date string format is more complex than is easily documented here but is fully
       described in the info documentation.

Portanto, yy-dd-mm hh:mm:ss formato deve ser preferido como entrada para date -s

Tente o seguinte:

(unset -v IFS # restore IFS to default
read -p "Enter the date:" y m d time rest_ignored
date -s "$y-$m-$d $time")
    
por 22.01.2016 / 10:29