Cara mendapatkan tarikh dan masa semasa dalam skrip bash

Cara mendapatkan tarikh dan masa semasa dalam skrip bash

Sebagai bahasa skrip, bash digunakan secara meluas untuk tugas pentadbiran sistem dan automasi. Satu tugas biasa dalam skrip bash adalah untuk mendapatkan tarikh dan masa semasa. The 'Tarikh' Perintah Mengembalikan tarikh dan masa semasa dalam format tertentu, tetapi anda juga boleh menggunakan rentetan format tersuai untuk mendapatkan tarikh dan masa dalam sebarang format

Dalam artikel ini, kami akan meneroka bagaimana untuk mendapatkan tarikh dan masa semasa dalam skrip bash.

Mendapatkan tarikh dan masa semasa

Di Bash, anda boleh menggunakan arahan tarikh untuk mendapatkan tarikh dan masa semasa. Secara lalai, perintah tarikh akan mengembalikan tarikh dan masa semasa dalam format "Day_of_week Bulan Hari Jam: Minit: Tahun Zon Masa Kedua"

Sebagai contoh:

Tarikh  Sun 28 Feb 23:26:13 UTC 2023 

Anda juga boleh menyimpan output arahan dalam pembolehubah untuk kegunaan selanjutnya.

#!/bin/bash current_date_time = $ (tarikh) echo "Tarikh dan masa semasa: $ current_date_time" # output: Tarikh dan masa semasa: Sun 28 23:26:13 UTC 2023
12345#!/bin/bashcurrent_date_time = $ (tarikh) echo "Tarikh dan masa semasa: $ current_date_time" # output: Tarikh dan masa semasa: Sun 28 23:26:13 UTC 2023

Output format tersuai

Terdapat beberapa suis, anda boleh gunakan untuk memformat output arahan tarikh.

  • Dapatkan masa tarikh di "MM/DD/YY HH: MM: SS" Format:
    tarikh +" %d %t"  03/25/17 14:40:32 
  • Dapatkan UNIX Semasa Epoch masa:
    tarikh +%s  1554542637 
  • Dapatkan masa tarikh di "Yyyy-mm-dd HH: mm: ss" Format:
    tarikh +"%y-%m-%d%t"  2019-03-25 14:40:32 
  • Berikut adalah format masa tarikh yang lebih biasa:
    ParameterPengeluaran
    tarikh +"%m/%d/%y"03/25/2019
    tarikh +"%d-%b-%y"25-Mar-2019
    tarikh +" %y %b %m"2019 Mar 25
    tarikh +"%h:%m"14:40
    tarikh +"%i:%m%p"02:40 PM
    tarikh +"%h:%m:%s"14:40:32
    tarikh +"%i:%m:%s%p"02:40:32 PM
    tarikh +"%m/%d/%y%h:%m"03/25/2019 14:40
    tarikh +" %a, %m %d %y %h: %m"Isnin, 03 25 2019 14:40
    tarikh +" %a, %b %d, %y %i: %m %p"Isnin, 25 Mac, 2019 02:40 PM
    tarikh +" %a, %b %d, %y %h: %m: %s"Isnin, 25 Mac, 2019 14:40:32

Gunakan tarikh dalam skrip shell:

Anda hanya boleh menggunakan arahan tarikh di dalam skrip shell yang serupa dengan penggunaan pada arahan arahan. Buat skrip bash getdateTime.SH dengan kandungan berikut.

#!/bin/bash currentDate = "tarikh +"%y-%m-%d%t "" currentDateOnly = "date +"%b%d,%y "" currentepoctime = "date +"%y-%m-% d%t "" Tarikh semasa echo ialah: $ currentDateOnly echo tarikh dan masa semasa adalah: 'tarikh +"%y-%m-%d%t"' echo tarikh dan masa semasa adalah: $ currentDate echo current UNIX Epoch Time adalah: $ currentEpoctime
12345678910#!/bin/bash currentDate = 'date +"%y-%m-%d%t"' currentDateOnly = 'date +"%b%d,%y"' currentepoctime = 'date +"%y-%m-% d%t "'echo tarikh semasa ialah: $ currentDateOnly echo tarikh dan masa semasa adalah:' tarikh +"%y-%m-%d%t "'echo tarikh dan masa semasa adalah: $ currentDate echo current UNIX Epoch Time adalah: $ currentEpoctime

Sekarang laksanakan skrip dari baris arahan dan tonton output.

./getdateTime.sh  Tarikh Semasa ialah: 25 Mac, 2019 Tarikh dan Masa Semasa ialah: 2019-03-25 17:18:19 Tarikh dan Masa Semasa adalah: 2019-03-05 17:18:19 Masa UNIX Semasa adalah: 1488541699 

Pilihan yang ada dengan arahan tarikh:

Anda boleh mencari semua pilihan arahan tarikh yang tersedia menggunakan -help parameter

Tarikh -Help  

Anda akan menemui output seperti di bawah dengan beberapa pilihan lagi.

  • %%: % literal
  • %a: Nama hari minggu yang disingkat locale (e.g., Matahari)
  • %A: nama hari minggu penuh locale (e.g., Ahad)
  • %b: Nama Bulan Singkat Locale (e.g., Jan)
  • %B: Nama bulan penuh locale (e.g., Januari)
  • %c: Tarikh dan Masa Locale (e.g., Thu Mar 3 23:05:25 2005)
  • %C: abad; seperti %y, kecuali menghilangkan dua digit terakhir (e.g., 21)
  • %d: hari bulan (e.g, 01)
  • %D: Tarikh; Sama seperti%m/%d/%y
  • %e: hari bulan, ruang empuk; Sama dengan %_d
  • %F: tarikh penuh; Sama seperti%y-%m-%d
  • %g: Dua digit terakhir tahun nombor ISO (lihat %g)
  • %G: Tahun Nombor Minggu ISO (lihat %v); Biasanya hanya berguna dengan %v
  • %h: Sama seperti %b
  • %H: Jam (00 ... 23)
  • %I: Jam (01 ... 12)
  • %j: Hari Tahun (001 ... 366)
  • %k: jam (0 ... 23)
  • %l: jam (1 ... 12)
  • %m: bulan (01 ... 12)
  • %M: minit (00 ... 59)
  • %n: garis baru
  • %N: Nanoseconds (000000000 ... 9999999999)
  • %ms: bersamaan dengan sama ada AM atau PM; kosong Sekiranya Tidak Dikenali
  • %Ms: seperti %p, tetapi kes yang lebih rendah
  • %r: waktu jam 12 jam locale (e.g., 11:11:04 PM)
  • %R: 24 jam jam dan minit; Sama seperti %h: %m
  • %s: detik sejak 1970-01-01 00:00:00 UTC
  • %S: Kedua (00 ... 60)
  • %t: tab
  • %T: masa; Sama seperti%h:%m:%s
  • %u: hari minggu (1 ... 7); 1 adalah hari Isnin
  • %U: bilangan minggu tahun, dengan hari Ahad sebagai hari pertama minggu (00 ... 53)
  • %V: Nombor minggu ISO, dengan hari Isnin sebagai hari pertama minggu (01 ... 53)
  • %w: hari minggu (0 ... 6); 0 adalah hari Ahad
  • %W: bilangan tahun minggu, dengan hari Isnin sebagai hari pertama minggu (00 ... 53)
  • %x: perwakilan tarikh locale (e.g., 12/31/99)
  • %X: perwakilan masa locale (e.g., 23:13:48)
  • %y: Dua digit terakhir tahun (00 ... 99)
  • %Y: tahun
  • %z: +zon waktu angka hhmm (e.g., -0400)
  • %: z: +HH: zon waktu angka mm (e.g., -04:00)
  • %:: z: +HH: mm: zon waktu angka ss (e.g., -04:00:00)
  • %::: z: zon waktu angka dengan: ke ketepatan yang diperlukan (e.g., -04, +05: 30)
  • %Z: singkatan zon masa abjad (e.g., EDT)

Kesimpulan

Mendapatkan tarikh dan masa semasa dalam skrip bash adalah tugas biasa yang dapat dicapai dengan menggunakan arahan tarikh. Secara lalai, arahan tarikh mengembalikan tarikh dan masa semasa dalam format tertentu, tetapi anda juga boleh menggunakan rentetan format tersuai untuk mendapatkan tarikh dan masa dalam sebarang format yang anda suka. Dengan memahami cara menggunakan arahan tarikh dalam skrip bash, anda boleh membina skrip automasi yang kuat yang menggunakan tarikh dan masa semasa.