|
Minishell 1.0
42 School Minishell Project - A simple shell implementation
|
Minishell ana dosyası Ayrıntılar...
#include "../include/minishell.h"#include <readline/history.h>#include <readline/readline.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>Bu dosyanın kaynak koduna git.
Fonksiyonlar | |
| int | init_shell (t_shell *shell, char **envp) |
| Shell yapısını başlatır. | |
| static void | process_line (t_shell *shell) |
| Tek bir komut satırını işler. | |
| int | main (int argc, char **argv, char **envp) |
| Program giriş noktası | |
Minishell ana dosyası
Shell başlatma, ana döngü ve temizlik işlemleri. REPL (Read-Eval-Print Loop) döngüsünü yönetir.
main.c dosyasında tanımlanmıştır.
| int init_shell | ( | t_shell * | shell, |
| char ** | envp ) |
Shell yapısını başlatır.
| shell | Shell yapısı pointer'ı |
| envp | Ortam değişkenleri dizisi |
Shell'i sıfırlar, exit_status'u ayarlar ve ortam değişkenlerini yükler.
main.c dosyasının 35 numaralı satırında tanımlanmıştır.
Referanslar s_shell::envp, s_shell::exit_status ve init_env_list().
Referans veren main().
|
static |
Tek bir komut satırını işler.
| shell | Shell yapısı pointer'ı |
Pipeline: Lexer -> Expander -> Parser -> Executor Her adımda başarısızlık durumunda döner.
main.c dosyasının 52 numaralı satırında tanımlanmıştır.
Referanslar s_shell::ast_root, clean_ast(), s_shell::cmd_line, executor(), expander(), free_token_content(), lexer(), merge_adjacent_tokens(), parser() ve s_shell::token_list.
Referans veren main().
| int main | ( | int | argc, |
| char ** | argv, | ||
| char ** | envp ) |
Program giriş noktası
| argc | Argüman sayısı (kullanılmıyor) |
| argv | Argüman dizisi (kullanılmıyor) |
| envp | Ortam değişkenleri |
REPL döngüsü:
main.c dosyasının 91 numaralı satırında tanımlanmıştır.
Referanslar cleanup_shell(), s_shell::cmd_line, complete_input(), s_shell::exit_status, g_readline_active, g_signal, init_shell(), is_input_complete(), process_line() ve setup_signals().