hava durumu betiği

Başlatan ironic, 19 Haziran 2012 - 00:10:10

« önceki - sonraki »

0 Üyeler ve 4 Ziyaretçi konuyu incelemekte.

ironic


İstenen şehrin hava durumu bilgilerini meteoroloji sitesinden alarak kullanıcıya bildirir.

Kullanımı:

betik_adi <il_trafik_kodu>

https://gitorious.org/bash-scripts/bash-scripts/blobs/master/hava_durumu.bash

indirmek için tıklayın.

if

@ironic, elinize sağlık. Bir iki deneme yaptım. Sivas'ın plaka kodunu girince (58) Sinop'u gösteriyor. Sinap yerine ne gösteriyor derken 56'da Siirt yerine Şanlıurfa'yı gösteriyor. Bu iş Tunceli'ye kadar gidiyor.

alquirel

Öncelikle elinize sağlık @ironic. ;)

Alıntı yapılan: ironic - 19 Haziran 2012 - 00:10:10
           SAMSUN SANLIURFA SIIRT SINOP SIVAS TEKIRDAG TOKAT TRABZON TUNCELI

Samsun ile Siirt arasına Şanlıurfa girdiği için minik bir kayma olmuş orada galiba.
Şanlıurfa'yı Tunceli'den sonraya alınca sorun kalmaz muhtemelen.

decent

Şöyle bir soru gelse;
Veri alınan bağlantı http://www.dmi.gov.tr/tahmin/il-ve-ilceler.asp olduğuna göre isteyenler ilçe(ler) için de betiğe ekleme yapabilir mi ?

alquirel

@decent, eğer betiğin başındaki SEHIR = "" kısmında ilçenin ismini (yine büyük harflerle) yazarsanız olur ancak komut satırından girmek isterseniz betik bu hâliyle 1'den 81'e kadar olan sayıların dışındaki sayılara yanıt vermediği için komut satırından ilçe giremezsiniz.

Komut satırında da "hava_durumu UMRANIYE" şeklinde ilçe kullanayım denilirse betiğin yapısını değiştirmek gerekir, ve komut satırında UMRANIYE gibi estetik olmayan bir kullanımı gerektireceğinden itici kalabilir.

Ama dediğim gibi betiğin başındaki SEHIR = "" kısmını SEHIR = "UMRANIYE" şeklinde kaydederseniz hava_durumu olarak komut satırında betiğin komutunu verdiğinizde size Ümraniye sonucunu döndürecektir.

decent

Teşekkür ederim @alquirel
81 dikkatimi çekmişti.
O halde istediğimiz ilçeyi listeye ekleyip 82 ve üstü bir rakama karşılık getirirsek olur , tabii diğer kısımları da ona göre düzenleyerek.

ironic

Ben teşekkür ederim arkadaşlar.

Alıntı yapılan: if - 19 Haziran 2012 - 00:31:45
@ironic, elinize sağlık. Bir iki deneme yaptım. Sivas'ın plaka kodunu girince (58) Sinop'u gösteriyor. Sinap yerine ne gösteriyor derken 56'da Siirt yerine Şanlıurfa'yı gösteriyor. Bu iş Tunceli'ye kadar gidiyor.
Alıntı yapılan: alquirel - 19 Haziran 2012 - 00:39:56
Alıntı yapılan: ironic - 19 Haziran 2012 - 00:10:10
           SAMSUN SANLIURFA SIIRT SINOP SIVAS TEKIRDAG TOKAT TRABZON TUNCELI

Samsun ile Siirt arasına Şanlıurfa girdiği için minik bir kayma olmuş orada galiba.
Şanlıurfa'yı Tunceli'den sonraya alınca sorun kalmaz muhtemelen.

İller alfabetik sıradaydı. Elle trafik koduna göre sıralarken atlamışım. Betikte de düzelttim.

Alıntı yapılan: decent - 19 Haziran 2012 - 01:47:26
Teşekkür ederim @alquirel
81 dikkatimi çekmişti.
O halde istediğimiz ilçeyi listeye ekleyip 82 ve üstü bir rakama karşılık getirirsek olur , tabii diğer kısımları da ona göre düzenleyerek.


@alquirel durumu çok güzel açıklamış. Evet, bu şekilde de olur.

krwlng

Betiğin ismini "hava" olarak değiştirip chmod +x hava_durumukomutunu girdikten sonra, "/usr/bin/" dizinine atarsanız, terminalden direkt olarak hava il kodu örnek: hava 06 şeklinde bir komutla hava durumunu öğrenmiş olursunuz.[/code]
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

Ertroll

./hava 01 komutunu uyguluyorum fakat aşağıdaki çıktı geliyor. Sorun nerede acaba? Yardımcı olur musunuz?

$ ./hava 01
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...

  -n, --quiet, --silent
                 suppress automatic printing of pattern space
  -e script, --expression=script
                 add the script to the commands to be executed
  -f script-file, --file=script-file
                 add the contents of script-file to the commands to be executed
  --follow-symlinks
                 follow symlinks when processing in place
  -i[SUFFIX], --in-place[=SUFFIX]
                 edit files in place (makes backup if extension supplied)
  -l N, --line-length=N
                 specify the desired line-wrap length for the `l' command
  --posix
                 disable all GNU extensions.
  -r, --regexp-extended
                 use extended regular expressions in the script.
  -s, --separate
                 consider files as separate rather than as a single continuous
                 long stream.
  -u, --unbuffered
                 load minimal amounts of data from the input files and flush
                 the output buffers more often
      --help     display this help and exit
      --version  output version information and exit

If no -e, --expression, -f, or --file option is given, then the first
non-option argument is taken as the sed script to interpret.  All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.

GNU sed home page: <http://www.gnu.org/software/sed/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.

furkankalkan

Tebrik ederim @ironic  bash işine girişmiyordum  da çoktandır :D İyi iş çıkarmışsınız.
Lover
twitter.com/furkan_kalkan1

ironic

Alıntı yapılan: Ertroll - 16 Ağustos 2012 - 17:42:40
./hava 01 komutunu uyguluyorum fakat aşağıdaki çıktı geliyor. Sorun nerede acaba? Yardımcı olur musunuz?

$ ./hava 01
Usage: sed [OPTION]... {script-only-if-no-other-script} [input-file]...

  -n, --quiet, --silent
                 suppress automatic printing of pattern space
  -e script, --expression=script
                 add the script to the commands to be executed
  -f script-file, --file=script-file
                 add the contents of script-file to the commands to be executed
  --follow-symlinks
                 follow symlinks when processing in place
  -i[SUFFIX], --in-place[=SUFFIX]
                 edit files in place (makes backup if extension supplied)
  -l N, --line-length=N
                 specify the desired line-wrap length for the `l' command
  --posix
                 disable all GNU extensions.
  -r, --regexp-extended
                 use extended regular expressions in the script.
  -s, --separate
                 consider files as separate rather than as a single continuous
                 long stream.
  -u, --unbuffered
                 load minimal amounts of data from the input files and flush
                 the output buffers more often
      --help     display this help and exit
      --version  output version information and exit

If no -e, --expression, -f, or --file option is given, then the first
non-option argument is taken as the sed script to interpret.  All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.

GNU sed home page: <http://www.gnu.org/software/sed/>.
General help using GNU software: <http://www.gnu.org/gethelp/>.


Merhaba kullanılan sed sürümü nedir ?


sed --version # çıktısı


Ayrıca betiği aşağıdaki şekilde çalıştırdığınızda aldığınız çıktıyı buraya geçin.


/bin/bash -x hava 01


Alıntı yapılan: dewilman - 16 Ağustos 2012 - 17:49:11
Tebrik ederim @ironic  bash işine girişmiyordum  da çoktandır :D İyi iş çıkarmışsınız.

teşekkürler.

Ertroll

@ironic Yaptığım çok acemice bir hatadan dolayı çalıştıramamışım betiği. Cevabını okumak için konuya girdiğimde ilk mesajdaki indirme linkini gördüm. (İlk gördüğümde yeni eklediğini zannetmiştim.) Daha önce farketmemiştim ve Gitorious'tan kopyalamıştım kodları. İndirdim ve çalıştırmayı denedim. Sorunsuz bir şekilde çıktıyı aldım. Sonra kopyaladığım kodlara baktım. İlk bakışta bir fark göremedim her satırdan sonra bırakılan bir satırlık atlamalar dışında. Bunların etkili olacağını zannetmemiştim ve tüm satıları kontrol ettim ama fark yoktu. Sonra bir satırlık atlamaları kaldırınca kopyaladığım betiği de çalıştırdım. Ayrıca çok iyi bir çalışma olmuş, eline sağlık. :)