Minishell 1.0
42 School Minishell Project - A simple shell implementation
Yüklüyor...
Arıyor...
Eşleşme Yok
🐚 Minishell - Asıl Kabuğuna Dön!

42 School Language ![Doxygen](https://img.shields.io/badge/Docs-Doxygen-green)

Minishell, 42 Okulları müfredatında yer alan ve bir işletim sistemi kabuğunun (shell) arkasında yatan karmaşık mekanizmaları (process yönetimi, lexer/parser, ortam değişkenleri vb.) minimal ancak eksiksiz bir şekilde klonlamayı hedefleyen bir C projesidir.


🏗️ Mimari & Geliştirme Akışı

Projenin derleyici ve yorumlayıcı mantığı klasik "Frontend/Backend" tasarım desenine benzer 4 temel bloktan oluşur:

Modül İşlev İçerik Özeti
Lexer Sözcük Analizi Düz metni "Token"lara (kelime, özel karakter, pipe, redirect) böler.
Parser AST (Sözdizimi) Ağacı Token zincirini, öncelik sırasına göre Abstract Syntax Tree'ye çevirir.
Expander Değişken Genişletme $ENV değişkenlerini okur, wildcard (*) joker işlemlerini temizler.
Executor Çalıştırma AST'yi adım adım gezip Pipes, Child Proc'lar ve Built-in leri yürütür.

🛠 Desteklenen Özellikler

Bu Minishell versiyonu, gerçek Bash deneyimine en yakın olması için şunları içerir:

  • Built-in Komutlar: echo (-n), cd, pwd, export, unset, env, exit
  • Yönlendirmeler (Redirections): < (Input), > (Output), << (Heredoc), >> (Append)
  • Boru Hatları (Pipes): | karakteri ile ardışık komutları zincirleme bağlama.
  • Değişkenler: Ortam değişkenleri okuma ($USER), çıkış durumu okuma ($?).
  • Sinyaller: Ctrl+C (SIGINT), Ctrl+D (EOF), Ctrl+\ (SIGQUIT) sinyallerini aslına uygun yakalama.

🚀 Kurulum ve Çalıştırma

Projeyi sisteminizde oluşturmak ve çalıştırmak kütüphaneler (libft ve readline) ile birlikte otomatik olarak make ile halledilir.

# Projeyi derleme
make
# Minishell'i özel istemcisi (prompt) ile başlatma
./minishell

📚 Dokümantasyon Modülü

Bu proje, kendi mimarisinin detaylarını anlamak isteyen geliştiriciler ve değerlendiriciler için, Doxygen tabanlı detaylı bir HTML dökümüyle gelir. Sistem üzerinde tüm objelerin birbirini nasıl çağırdığını görmek için Graphviz tabanlı akış şemaları içerir.

# Sadece dokümanları derler
make docs
# Doküman sitesini oluşturur ve port 3001 üzerinden tarayıcınızda sunar
make docs-serve

Not: 3001 portunu kullanan sunucuyu sonlandırmak için komut ekranında Ctrl + C tuş kombinasyonunu kullanabilirsiniz.

Here you can buy Handbags Replica :

loro piana replica ysl replica chanel replica replica louis vuitton belt uk borse fendi imitazioni fake louis vuitton bags replica louis vuitton uk borse prada imitazioni hermes birkin replica prada replica uk hermes replica replica chanel replica gucci kaufen dior replica louis vuitton replica replica dior Replica louis vuitton backpack hermes Replica replica chanel replica dior Dior Jolie replica louis vuitton duffle bag replica gucci replica replica hermes Replica Omega Watches Replica Louis Vuitton backpack replica louis vuitton uk bottega veneta replica goyard replica chanel replica replica cartier jewelry borse gucci imitazioni replica dior replica gucci replica chanel bottega veneta taschen replica gucci replica replica goyard Replica chanel hermes replica dubai gucci replica hermes replica louis vuitton replica dubai replica dior replica cartier love bracelet borsa kelly imitazione replique louis vuitton replique louis vuitton delvaux replica hermes replica replica prada Delvaux replica dior replica replica goyard replica Van Cleef & Arpels gucci ophidia replica