Skip to content

ceydatekin/LinuxShellScript-ToDoList

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Linux Shell Programlama Projesi : TO DO LIST

  • Linux shell script, whiptail ve Zenity kütüphanesi ile yazılan, basit TO DO LIST programıdır. Programın YouTube videosu ile açıklanmış hali linktedir.

Gerekli Kurulumlar

  • GNU LINUX'da ctrl+alt+t ile terminali açabilirsiniz.
  • apt-get install whiptail komutu ile Whiptail'i çalışma ortamınıza kurabilirsiniz.
  • sudo apt-get install -y zenity komutu ile Zenity'i çalışma ortamınıza kurabilirsiniz.
  • Projede gerekli kütüphaneleri indirdikten sonra proje dosyalarına erişmek ve bunları yerel bilgisayarınızda çalıştırmak için aşağıdaki adımı uygulayabilirsiniz:
  • Deponun sağ üst kısmında Kod, yazan yeşil butona tıkladıktan sonra ZIP İndir sekmesine tıklayıp yerel bilgisayarınıza proje kaynak kodlarını indirmiş olursunuz.
  • Dizinin kaynak kodunu açtıktan sonra, Dosyanıza chmod +x ToDolist.shkomutu ile yürütme/çalıştırma yetkisi verip bash ToDoList.sh komutu ile çalıştırabilirsiniz.

Nasıl Geliştirildi?

Bir Shell Script dosyasında geliştirilmiş bir uygulamadır. Shell Script dosyası oluşturmak için nano file_name.shkomutu ile Shell Script dosyanızı bir nano editör ile oluşturup açıyoruz. Dosyanızın en başına #!/bin/bash yazınız. Daha sonra dosyanıza chmod +x file_name.sh komutu ile yürütme yetkisi veriniz. Dosyanızı bash FileName.sh komutuyla çalıştırabilirsiniz. Shell Scripti etkileşimli hale getirmek ve daha anlaşılır tam ekran mesajlar görüntülemekisteriz. Whiptail ve Zenity kütüphanelerini kullanarak, kabuk komut dosyasındaki iletişim kutularını kullanarak çeşitli sorular sunmanıza veya mesajları görüntülemenize izin verecek programlardır.

To Do List Özellikleri

📍 Dosyanızı Çalıştırdığınızda ilk önce karşınıza resimde görüldüğü gibi kimlik doğrulaması gelecektir. To Do List Shell Script doyamdali giriş bilgileri aşağıdaki gibidir.

username="ceyda" password="123456"

1 📍Hatalı giriş yapmanız durumunda aşağıdaki resimdeki uyarıyı göreceksiniz. 2 📍Doğru giriş yaptığınızda ise karşınıza whiptailile oluşturulan bir menü çıkacaktır. Menüde aşağı-yukarı yön tuşları ile seçiminizi belirtip enter tuşu ile seçebilirsiniz. Menüden çıkmak için sağ-sol yön tuşları ile cancelbutonunu seçebilirsiniz. :round_pushpin:Menüdeki seçenekler şu şekildedir.

A. Yapılacak bir görev ekleyiniz. B. Yapılacaklari listeleyiniz. C. Şimdiye kadar yapılan görevleri listeleyiniz.

3 📍İlgili alanlar seçildiğinde gerekli fonksiyonlar çalışır. Menü ekranının görüntüsü aşağıdaki gibidir. 📍A. seçeneğini seçerseniz Görev durumu default olrakFALSE olarak tanımlanan sonrasında görevinize özgü unique(benzersiz) bir tanımlama veya id girmenizi istedikten sonra görev adı, önemlilik derecesi ve son bitirme tarihini girebiliyorsunuz. Tamam tuşuna bastıktan sonra karşınıza Tebrikler ekleme tamamlandı tekrar menüye dönmek ister misiniz? şeklinde bir uyarı mesajı gelmektedir. Siz menüye dönmek için tamamtuşuna uygulamadan çıkmak için hayır tuşuna basmalısınız. 4 5 📍B. seçeneğini seçerseniz yapılacak görevler listelenmektedir. Bitirdiğiniz görevi seçip tamama tıklarsanız yaptığınız her görev yapılacak listesinden kaldırılıp yapılanlar listesine eklenecektir. Biten görev sonrası uyarı mesajı ile tekrar menüye dönmek istediğinizi sormaktadır. Siz menüye dönmek için tamamtuşuna uygulamadan çıkmak için hayır tuşuna basmalısınız. 6 7 📍C. seçeneğini seçerseniz bugüne kadar yaptığınız tüm görevlerin listesini görebileceksiniz. 8

Proje Detayı

Projemize bir Shell Script dosyası oluşturarak başladık. Oluşturduğumuz dosyanın başına #!/bin/bash komutunu ekledik. Bu projede 5 temel fonksiyon oluşturduk. Bu fonksiyonlar Şu şekildedir:

  • GirisYap Fonksiyonu zenity --password --username yapısı ile kullanıcıdan bir giriş alan ve sistemde önceden tanımlanmış kullanıcı adı ve password ile doğrulayıp menü'yü görüntüleminizi sağlar.
  • GorevEkle Fonksiyonu zenity --form yapısı ile oluşturulmuştur. Kullanıcıdan girişleri --add-combo=çoklu seçim sağlar --add-entry=metin giriş ekranı --add-calendar=Takvim giriş ekranı görevindedir. Alınan bu bilgileri addr.txt isimli klasörde tutmaktadır.
  • GorevListeleFonksiyonu addr.txtisimli dosyayı " , " ile ayırarak okuyup zenity --list--radiolist yapısı ile listelemektedir. Seçim yapıldığında seçime göre bulunan sıra önce G"örev Yapılma Durumu" TRUE durumuna çevrilir ve listeden kaldırılıp loglar.txt dosyasında tutulur.
  • BitenGorevlerFonksiyonu loglar.txt isimli dosyayı " , " ile ayırarak okuyup zenity --list--checklist yapısı ile listelemektedir.
  • Menu Fonksiyonu whiptail --menu yapısı ile menü oluşturmamızı sağlamıştır.

About

Zenity ve Whiptail kullanılarak oluşturulmuştur.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages