/Basic-Shell

Bu proje, C dilinde yazılmış bir Bash terminali örneğidir

Primary LanguageC

Minishell Projesi

minihell.mov

Bu proje, C dilinde yazılmış bir minishell uygulamasını içerir. Minishell, gelen komutları getline fonksiyonu ile okur ve bu komutları bash'e benzer bir şekilde işler.

Kullanım

  1. Kurulum

    Proje dosyalarını bir dizine kopyalayın ve ardından terminali açarak bu dizine gidin.

  2. Derleme

    Terminalde aşağıdaki komutu çalıştırarak projeyi derleyin:

    make
    
  3. Çalıştırma

    ./minishell
    

Built-in komutlar

Aşağıdaki built-in komutları desteklenir;

  • echo: Metni ekrana yazdırır.
  • cd: Dizin değiştirme işlemini gerçekleştirir.
  • pwd: Mevcut çalışma dizinini gösterir.
  • export: Ortam değişkenlerini ayarlar.
  • unset: Ortam değişkenlerini siler.
  • env: Ortam değişkenlerini listeler.
  • exit: Minishell'den çıkar.

Kazanımlar

Minishell projesi üzerinde çalışırken birçok değerli deneyim elde ettim. Bu proje, C programlama becerilerimi geliştirmeme ve sistem programlama konusundaki bilgilerimi artırmama yardımcı oldu.

Öncelikle, C dilinde daha derinlemesine kod yazma fırsatı buldum. Dosya işlemleri, string manipülasyonu ve sistem çağrıları gibi konularda kendimi geliştirdim. Özellikle, kullanıcı girdilerini kabul etme ve işleme konusunda yeni bir perspektif kazandım.

Minishell'in işleyişini anlamak için sistem programlama kavramlarını öğrenme fırsatı buldum. İşlem yönlendirme, ortam değişkenleri ve builtin komutlar gibi konuları ele alarak, işletim sistemi seviyesindeki işlemleri kontrol etme yeteneğimi artırdım.

Proje sırasında karşılaştığım hataları tanımlama ve çözme becerilerimi geliştirdim. Özellikle, düşük seviyeli hatalarla uğraşırken hata ayıklama yeteneklerimi daha da pekiştirdim.

Minishell projesi ayrıca kod organizasyonu becerimi de geliştirdi. Kodlarımı daha modüler hale getirme süreci, projemi daha erişilebilir hale getirmeme yardımcı oldu.

Son olarak, UNIX/Linux ortamına daha fazla aşinalık kazandım. Bu da genel bir bilgi birikimi sağladı ve işletim sistemi seviyesindeki uygulamaları daha etkin bir şekilde geliştirmeme olanak tanıdı.

Minishell projesi, kendimi geliştirmeme ve yeni yetenekler kazanmama olanak tanıyan değerli bir deneyim oldu.