Como obter data e hora atuais no script Bash

Como obter data e hora atuais no script Bash

Como linguagem de script, o Bash é amplamente usado para tarefas de administração do sistema e automação. Uma tarefa comum no script de bash é obter a data e hora atuais. O 'data' O comando retorna a data e hora atuais em um formato específico, mas você também pode usar uma sequência de formato personalizada para obter a data e a hora em qualquer formato

Neste artigo, exploraremos como obter a data e a hora atuais em um script Bash.

Obtendo a data e hora atuais

Em Bash, você pode usar o comando de data para obter a data e hora atuais. Por padrão, o comando da data retornará a data e a hora atuais no formato de "Day_Of_Week Mês Diotamento: Minuto: Segundo Filho do Time"

Por exemplo:

data  Dom 28 de fevereiro 23:26:13 UTC 2023 

Você também pode armazenar a saída de comando em uma variável para uso posterior.

#!/bin/Bash current_date_time = $ (data) echo "Data e hora atuais: $ current_date_time" # saída: data e hora atuais: sol 28 de fevereiro 23:26:13 UTC 2023
12345#!/bin/bashcurrent_date_time = $ (data) echo "Data e hora atuais: $ current_date_time" # saída: data e hora atuais: sol 28 de fevereiro 23:26:13 UTC 2023

Saída de formato personalizado

Existem vários interruptores, você pode usar para formatar a saída do comando de data.

  • Obtenha o horário de data em “Mm/dd/yy hh: mm: ss” formatar:
    data +" %d %t"  25/03/17 14:40:32 
  • Obtenha UNIX atual época tempo:
    data +%s  1554542637 
  • Obtenha o horário de data em “AAAA-MM-DD HH: MM: SS” formatar:
    data +"%y-%m-%d%t"  2019-03-25 14:40:32 
  • Aqui estão os formatos de hora de data mais comum:
    ParâmetroSaída
    data +”%m/%d/%y”25/03/2019
    data +”%d-%b-%y”25-mar-2019
    data +” %y %b %m”2019 25 de março
    data +”%h:%m”14:40
    data +”%i:%m%p”02:40
    data +”%h:%m:%s”14:40:32
    data +”%i:%m:%s%p”02:40:32
    data +”%m/%d/%y%h:%m”25/03/2019 14:40
    data +” %a, %m %d %y %h: %m”Segunda -feira, 03 25 2019 14:40
    data +” %a, %b %d, %y %i: %m %p”Segunda -feira, 25 de março de 2019 02:40
    data +” %a, %b %d, %y %h: %m: %s”Segunda -feira, 25 de março de 2019 14:40:32

Use a data no script do shell:

Você pode simplesmente usar o comando de data dentro do script shell semelhante para usar no prompt de comando. Crie um script de bash getDateTime.SH com o seguinte conteúdo.

#!/BIN/BASH currentDate = "Data +"%y-%m-%d%t "" currentDateonly = "Data +"%b%d,%y "" currentEpoctime = "Data +"%y-%m-% d%t "" A data atual do echo é: $ currentDateonly eco a data e hora atuais é: 'data +"%y-%m-%d%t"' eco data e hora são: $ currentDate eco atual O tempo da Epoch Unix é: $ currentEpoctime
12345678910#!/bin/bash currentDate = 'data +"%y-%m-%d%t"' currentDateonly = 'date +"%b%d,%y"' currentEpoctime = 'date +"%y-%m-% d%t "'A data atual do echo é: $ currentDateonly eco a data e hora atuais é:' data +"%y-%m-%d%t "'eco data e hora são: $ currentDate eco atual O tempo da Epoch Unix é: $ currentEpoctime

Agora execute o script da linha de comando e observe a saída.

./getDateTime.sh  A data atual é: 25 de março de 2019 A data e a hora atual é: 2019-03-25 17:18:19 A data e hora atuais são: 2019-03-05 17:18:19 O tempo atual do Unix Epoch é: 1488541699 

Opções disponíveis com o comando de data:

Você pode encontrar todas as opções disponíveis do comando de data usando -Help Parâmetro

Data -Help  

Você encontrará a saída como abaixo com mais algumas opções.

  • %%: um % literal
  • %a: Nome do dia da semana abreviado do Locale (E.g., Sol)
  • %A: Nome completo para o dia da semana (e.g., Domingo)
  • %b: Nome do mês abreviado do Locale (E.g., Jan)
  • %B: Nome do mês inteiro do Locale (E.g., Janeiro)
  • %c: Data e hora do Local (e.g., Qui 3 23:05:25 2005)
  • %C: século; como %y, exceto omitis os últimos dois dígitos (e.g., 21)
  • %d: Dia do mês (e.G, 01)
  • %D: data; o mesmo que%m/%d/%y
  • %e: Dia do mês, espaço acolchoado; o mesmo que %_d
  • %F: data completa; o mesmo que%y-%m-%d
  • %g: Últimos dois dígitos do ano do número da semana ISO (ver %g)
  • %G: Ano do número da semana ISO (ver %V); normalmente útil apenas com %v
  • %h: o mesmo que %b
  • %H: hora (00… 23)
  • %EU: hora (01… 12)
  • %j: Dia do ano (001… 366)
  • %k: hora (0… 23)
  • %eu: hora (1… 12)
  • %m: mês (01… 12)
  • %M: minuto (00… 59)
  • %n: uma nova linha
  • %N: nanossegundos (000000000… 999999999)
  • %p: Local é equivalente a AM ou PM; em branco se não for conhecido
  • %P: como %p, mas minúscula
  • %r: Hora do relógio de 12 horas do Locale (E.g., 23:11:04)
  • %R: 24 horas por hora e minuto; o mesmo que %h: %m
  • %s: segundos desde 1970-01-01 00:00:00 UTC
  • %S: Segundo (00… 60)
  • %t: um separador
  • %T: tempo; o mesmo que%h:%m:%s
  • %você: dia da semana (1… 7); 1 é segunda -feira
  • %VOCÊ: Número da semana de ano, com domingo como primeiro dia da semana (00… 53)
  • %V: Número da semana ISO, com segunda -feira como o primeiro dia da semana (01… 53)
  • %c: dia da semana (0… 6); 0 é domingo
  • %C: Número da semana de ano, com segunda -feira como primeiro dia da semana (00… 53)
  • %x: Representação da data do local (e.g., 31/12/99)
  • %X: Representação de tempo do Locale (e.g., 23:13:48)
  • %y: Últimos dois dígitos do ano (00… 99)
  • %Y: ano
  • %z: +fuso horário numérico hhmm (e.g., -0400)
  • %: z: +hh: mm fço horário numérico (e.g., -04:00)
  • %:: z: +hh: mm: SS Numérico fuso horário (e.g., -04:00:00)
  • %::: z: fuso horário numérico com: para a precisão necessária (e.g., -04, +05: 30)
  • %Z: abreviação de fuso horário alfabético (e.g., EDT)

Conclusão

Obter a data e a hora atuais em um script bash é uma tarefa comum que pode ser realizada usando o comando de data. Por padrão, o comando date retorna a data e a hora atuais em um formato específico, mas você também pode usar uma sequência de formato personalizada para obter a data e a hora em qualquer formato que desejar. Ao entender como usar o comando de data em um script bash, você pode criar scripts de automação poderosos que usam a data e a hora atuais.