Cara Mendapatkan Masa Sunrise & Sunset untuk mana -mana lokasi dari baris arahan Linux

Cara Mendapatkan Masa Sunrise & Sunset untuk mana -mana lokasi dari baris arahan Linux

Objektif

Objektifnya adalah menggunakan skrip baris arahan dan shell bash untuk mendapatkan maklumat waktu matahari terbit & matahari terbenam untuk mana -mana lokasi tertentu.

Sistem operasi dan versi perisian

  • Sistem operasi: - Pengedaran Linux Agnostik.

Keperluan

Dipasang Lynx alat dan akses ke baris arahan shell. Kod lokasi anda diperoleh dari https: // cuaca.kod/cari/.

Kesukaran

Mudah

Konvensyen

  • # - Memerlukan arahan Linux yang diberikan untuk dilaksanakan dengan keistimewaan akar sama ada secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
  • $ - Memerlukan arahan Linux yang diberikan sebagai pengguna yang tidak layak

Arahan

Motivasi utama bagi saya untuk mendapatkan waktu matahari terbit & matahari terbenam, oleh itu menulis skrip mudah ini adalah untuk automasi rumah. Dalam kes saya, saya ingin memulakan peranti tertentu pada masa -masa apabila penjanaan kuasa solar mencukupi untuk keperluan kuasa peranti. Memandangkan saya mempunyai maklumat waktu matahari terbit & matahari terbenam yang betul dan dapat mengimbangi waktu akhir akhir dengan bilangan jam yang sesuai.

Skrip Sunrise & Sunset

Buat skrip shell misalnya. Sunrise-sunset.sh dengan kandungan berikut:

#!/bin/bash # Pertama Dapatkan kod lokasi dari: https: // cuaca.kod/ cari/ # masukkan lokasi anda. Contohnya Loxx0001 adalah kod lokasi untuk Bratislava, lokasi Slovakia = "loxx0001" tmpfile =/tmp/$ lokasi.keluar # Dapatkan data mentah matahari terbit dan matahari terbenam dari cuaca.com wget -q "https: // cuaca.com/cuaca/hari ini/l/$ lokasi "-o" $ tmpfile "sunr = $ (grep sunriseSunset" $ tmpfile "| grep -oe '((1 [0-2] | 0?[1-9]): ([0-5] [0-9]) ?([Aapp] [mm])) '| kepala -1) Suns = $ (grep sunriseSunset "$ tmpfile" | grep -oe '((1 [0-2] | 0?[1-9]): ([0-5] [0-9]) ?([Aapp] [mm])) '| ekor -1) sunrise = $ (tarikh --date = "$ sunr" +%r) sunset = $ (tarikh --date = "$ suns" +%r) # Gunakan $ sunrise dan $ sunset variables agar sesuai dengan keperluan anda. Contoh: Echo "Sunrise for Lokasi $ Lokasi: $ Sunrise" Echo "Sunset untuk Lokasi $ Lokasi: $ Sunset" 
Salinan

Sebagai alternatif, anda juga boleh mengklon versi terkini dari GitHub:

$ git clone https: // github.com/linuxconfig/sunrise-sunset-shell-skrip.git 

Dapatkan kod lokasi anda dari https: // cuaca.kod/cari/ dan berikannya ke Lokasi berubah semasa menggantikan kod contoh semasa. Simpan fail dan menjadikannya boleh dilaksanakan:

$ chmod +x sunrise-sunset.sh 

Dapatkan waktu matahari terbit & matahari terbenam

Pastikan itu Lynx Perintah boleh didapati di sistem Linux atau dijalankan:

Ubuntu/Debian # Apt Pasang Lynx Centos/Redhat # Yum Pasang Lynx 

untuk memasangnya. Semua yang telah ditinggalkan untuk menjalankan skrip:

$ ./Sunrise-sunset.sh sunrise untuk lokasi loxx0001: 06:47 matahari terbenam untuk lokasi loxx0001: 18:34 

Saya harap anda dapati skrip ini berguna seperti yang saya lakukan.

Tutorial Linux Berkaitan:

  • Perkara yang hendak dipasang di Ubuntu 20.04
  • Mendapatkan halaman web menggunakan Wget, Curl dan Lynx
  • Perkara yang perlu dilakukan setelah memasang ubuntu 20.04 Focal Fossa Linux
  • Pengenalan kepada Automasi, Alat dan Teknik Linux
  • Perintah Linux: Top 20 Perintah Paling Penting yang Anda Perlu ..
  • Perintah Linux Asas
  • Menguasai Gelung Skrip Bash
  • Fail Konfigurasi Linux: 30 teratas yang paling penting
  • Pasang Arch Linux di Workstation VMware
  • Cara memanipulasi jadual partition GPT dengan gdisk dan sgdisk ..