From 56a19a23bc0dfff9d2a849b6d30eca99ae5e7623 Mon Sep 17 00:00:00 2001 From: Sergio Date: Mon, 20 Oct 2025 12:49:35 +0200 Subject: [PATCH] restart: deleted all source and header files, restarting project --- .github/README/minishelln.png | Bin 0 -> 18354 bytes README.md | 129 +++++++++++-- .../builtins/todo/alias.c => include/.gitkeep | 0 include/builtins.h | 70 ------- include/history.h | 20 -- include/minishell.h | 87 --------- .../builtins/todo/builtin.c => .gitkeep} | 0 src/commands/command_utils.c | 36 ---- src/commands/exec.c | 54 ------ src/commands/parse.c | 82 -------- src/features/builtins/builtin_utils.c | 38 ---- src/features/builtins/cd.c | 29 --- src/features/builtins/echo.c | 108 ----------- src/features/builtins/env.c | 37 ---- src/features/builtins/exit.c | 62 ------ src/features/builtins/export.c | 38 ---- src/features/builtins/printenv.c | 28 --- src/features/builtins/pwd.c | 27 --- src/features/builtins/todo/history.c | 0 src/features/builtins/todo/type.c | 27 --- src/features/builtins/unset.c | 22 --- src/features/history/history.c | 40 ---- src/minishell.c | 182 ------------------ src/utils/get_hostname.c | 46 ----- src/utils/signals.c | 41 ---- 25 files changed, 112 insertions(+), 1091 deletions(-) create mode 100644 .github/README/minishelln.png rename src/features/builtins/todo/alias.c => include/.gitkeep (100%) delete mode 100644 include/builtins.h delete mode 100644 include/history.h delete mode 100644 include/minishell.h rename src/{features/builtins/todo/builtin.c => .gitkeep} (100%) delete mode 100644 src/commands/command_utils.c delete mode 100644 src/commands/exec.c delete mode 100644 src/commands/parse.c delete mode 100644 src/features/builtins/builtin_utils.c delete mode 100644 src/features/builtins/cd.c delete mode 100644 src/features/builtins/echo.c delete mode 100644 src/features/builtins/env.c delete mode 100644 src/features/builtins/exit.c delete mode 100644 src/features/builtins/export.c delete mode 100644 src/features/builtins/printenv.c delete mode 100644 src/features/builtins/pwd.c delete mode 100644 src/features/builtins/todo/history.c delete mode 100644 src/features/builtins/todo/type.c delete mode 100644 src/features/builtins/unset.c delete mode 100644 src/features/history/history.c delete mode 100644 src/minishell.c delete mode 100644 src/utils/get_hostname.c delete mode 100644 src/utils/signals.c diff --git a/.github/README/minishelln.png b/.github/README/minishelln.png new file mode 100644 index 0000000000000000000000000000000000000000..0d7bc6e4582224c01a31175f23764f651ecdcd00 GIT binary patch literal 18354 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

-DUK^XV>UzH+9TeLB+o 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 pF)c7PEi*7wF*7 -- Debian/Ubuntu -``` -sudo apt-get install make libreadline-dev + + + + + + +

minishell

+ + +

A simple bash-like shell written in C.

+ + + Score + + + Language +
+ Last commit +
+ + + + + +--- + +## â„šī¸ About Project + +> The purpose of this project is to create a simple bash-like shell. + +DETAILED INFO + +For detailed info, refer to this project [subject](docs/en.subject.pdf). + +## 🚀 Getting Started + +### Prerequisites + +- GCC compiler +- Make utility +- Unix-like system (Linux, macOS, WSL) + +### Install prerequisites + +- APT + + ```bash + sudo apt install build-essential libreadline-dev + ``` + +- Pacman + + ```bash + sudo pacman -Sy base-devel readline-devel + ``` + +## 🔧 Build + +1. **Clone the repository:** + ```bash + git clone https://github.com/sdevsantiago/minishell.git + cd minishell + ``` + +2. **Compile the project:** + ```bash + make # Full compilation + ``` + +3. **Clean build files:** + ```bash + make clean # Remove object files + ``` + +#### Available Make Targets + +| Command | Description | +|---------|-------------| +| `make` | Compiles all | +| `make all` | Same as `make` | +| `make clean` | Remove object files (*.o) | +| `make fclean` | Remove object files and binaries | +| `make re` | Clean and rebuild everything | + +## 👨‍đŸ’ģ Usage + +### Basic Usage + +INSTRUCTIONS + +## 📏 Norminette + +The code strictly complies with 42's **Norminette v4**: + +```bash +norminette *.c *.h ``` -## How to install +More info in the official [Norminette](https://github.com/42school/norminette) repository. -1. Clone the repository -``` -git clone https://github.com/sdevsantiago/minishell.git && cd minishell -``` +## đŸ™‡â€â™‚ī¸ Special thanks -2. Build the project -``` -make && make clean -``` +- [lrcouto](https://github.com/lrcouto) and [ayogun](https://github.com/ayogun) for creating and publishing, respectively, the [42-project-badges](https://github.com/ayogun/42-project-badges) repository. +- [gcamerli](https://github.com/gcamerli) for creating the [42unlicense](https://github.com/gcamerli/42unlicense) repository. -3. Execute the program -``` -./minishell -``` +## âš–ī¸ License + +
+ + + + + +
+ +**This work is published under the terms of [42 Unlicense](LICENSE).** This means you are free to use, modify, and share this software. diff --git a/src/features/builtins/todo/alias.c b/include/.gitkeep similarity index 100% rename from src/features/builtins/todo/alias.c rename to include/.gitkeep diff --git a/include/builtins.h b/include/builtins.h deleted file mode 100644 index fa44f68..0000000 --- a/include/builtins.h +++ /dev/null @@ -1,70 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* builtins.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: sede-san -# include - -// cd.c - -int cd_builtin(int argc, char const *argv[]); - -# define CD_HELP - -// echo.c - -typedef struct s_echo_flags -{ - int newline; // print newline after everything has been printed -} t_echo_flags; - -int echo_builtin(int argc, char const *argv[]); - -# define ECHO_HELP - -// // env.c - -// int env_builtin(int argc, char const *argv[], char **envp); - -// exit.c - -int exit_builtin(int argc, char const *argv[]); - -# define EXIT_HELP - -// export.c - -int export_builtin(int argc, char const *argv[], char **envp); - -# define EXPORT_HELP - -// printenv.c - -int printenv_builtin(int argc, char const *argv[], char const *envp[]); - -# define PRINTENV_HELP - -// pwd.c - -int pwd_builtin(int argc, char const *argv[]); - -# define PWD_HELP - -// unset.c - -int unset_builtin(int argc, char const *argv[], char **envp); - -# define UNSET_HELP - -#endif diff --git a/include/history.h b/include/history.h deleted file mode 100644 index 0f80e4f..0000000 --- a/include/history.h +++ /dev/null @@ -1,20 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* history.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: sede-san -# include -# include -# include -# include - -typedef struct s_cmd -{ - int argc; - char **argv; -} t_cmd; - -typedef struct s_history -{ - char *hist_file; - size_t hist_file_size; - t_cdlist hist; - size_t hist_size; -} t_history; - -typedef struct s_minishell -{ - char **envp; - t_history *history; - char *history_file; -} t_minishell; - -/* ******************************** Features ******************************** */ - -/* History */ - -// history.c -void ms_add_history(const char *line); -int ms_read_history(const char *hist_file); -void ms_write_history(const char *hist_file); - -/* ******************************* Commands ********************************* */ - -// command_utils.c - -int is_absolutepath(char const *cmd); -int is_builtin(t_cmd *cmd); -int is_local(char const *cmd); - -// exec.c - -int exec_cmd(t_cmd *cmd, char **envp); -int exec_builtin(t_cmd *cmd, char **envp); - -// parse.c - -t_cmd parse_cmd(char *line, t_minishell *minishell); - -// signals.c - -void init_signal(void); - -/* ********************************* Utils ********************************** */ - -// get_hostname.c -char *get_hostname(void); - -/* ******************************** Builtins ******************************** */ - -// builtin_utils.c -int is_builtin(t_cmd *cmd); - -#endif diff --git a/src/features/builtins/todo/builtin.c b/src/.gitkeep similarity index 100% rename from src/features/builtins/todo/builtin.c rename to src/.gitkeep diff --git a/src/commands/command_utils.c b/src/commands/command_utils.c deleted file mode 100644 index 39f0ff9..0000000 --- a/src/commands/command_utils.c +++ /dev/null @@ -1,36 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* command_utils.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: sede-san argv[0], "cd\0", 3) == 0) - return (cd_builtin(cmd->argc, (char const **)cmd->argv)); - else if (ft_strncmp(cmd->argv[0], "echo\0", 5) == 0) - return (echo_builtin(cmd->argc, (char const **)cmd->argv)); - // else if (ft_strncmp(cmd->argv[0], "env\0", 4) == 0) - // return (env_builtin(cmd->argc, (char const **)cmd->argv, envp)); - // else if (ft_strncmp(cmd->argv[0], "exit\0", 5) == 0) - // return (exit_builtin(cmd->argc, (char const **)cmd->argv)); - else if (ft_strncmp(cmd->argv[0], "export\0", 7) == 0) - return (export_builtin(cmd->argc, (char const **)cmd->argv, envp)); - else if ((ft_strncmp(cmd->argv[0], "env\0", 4) == 0 && cmd->argc == 1) - || ft_strncmp(cmd->argv[0], "printenv\0", 9) == 0) - return (printenv_builtin( - cmd->argc, (char const **)cmd->argv, (char const **)envp)); - else if (ft_strncmp(cmd->argv[0], "pwd\0", 4) == 0) - return (pwd_builtin(cmd->argc, (char const **)cmd->argv)); - else if (ft_strncmp(cmd->argv[0], "unset\0", 6) == 0) - return (unset_builtin(cmd->argc, (char const **)cmd->argv, envp)); - return (1); -} - -int exec_cmd( - t_cmd *cmd, - char **envp) -{ - int exit_code; - pid_t pid; - - exit_code = 0; - pid = fork(); - if (pid == 0) - exit_code = execve(cmd->argv[0], cmd->argv, envp); - waitpid(pid, NULL, 0); - return (exit_code); -} - diff --git a/src/commands/parse.c b/src/commands/parse.c deleted file mode 100644 index abd7fb5..0000000 --- a/src/commands/parse.c +++ /dev/null @@ -1,82 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* parse.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: sede-san argv[0], "cd\0", 3) == 0 - || ft_strncmp(cmd->argv[0], "echo\0", 5) == 0 - || (ft_strncmp(cmd->argv[0], "env\0", 4) == 0 && cmd->argc == 1) - || ft_strncmp(cmd->argv[0], "exit\0", 5) == 0 - || ft_strncmp(cmd->argv[0], "export\0", 7) == 0 - || ft_strncmp(cmd->argv[0], "printenv\0", 9) == 0 - || ft_strncmp(cmd->argv[0], "pwd\0", 4) == 0 - || ft_strncmp(cmd->argv[0], "unset\0", 6) == 0); -} diff --git a/src/features/builtins/cd.c b/src/features/builtins/cd.c deleted file mode 100644 index 277a075..0000000 --- a/src/features/builtins/cd.c +++ /dev/null @@ -1,29 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* cd.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: sede-san newline = 1; -} diff --git a/src/features/builtins/env.c b/src/features/builtins/env.c deleted file mode 100644 index 4b66cc5..0000000 --- a/src/features/builtins/env.c +++ /dev/null @@ -1,37 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* env.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: sede-san 2) - { - fprintf(stderr, "exit: too many arguments\n"); - exit_code = -1; - } - else - exit_code = (unsigned int)((unsigned char)(ft_atol(argv[1]))); - } - return (exit_code); -} diff --git a/src/features/builtins/export.c b/src/features/builtins/export.c deleted file mode 100644 index 354caa6..0000000 --- a/src/features/builtins/export.c +++ /dev/null @@ -1,38 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* export.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: sede-san history_file); - while (1) - { - if (line) - free(line); - char *prompt = NULL; - if (prompt) - { - line = readline(prompt); - free(prompt); - } - else - line = readline("minishell> "); - if (!line) - { - write_history(minishell->history_file); - cmd = parse_cmd("exit", minishell); - exit_code = exit_builtin(cmd.argc, (const char **)cmd.argv); - if (exit_code != -1) - break ; - } - if (*line) - { - add_history(line); - cmd = parse_cmd(line, minishell); - free(line); - line = NULL; - if (ft_strncmp(cmd.argv[0], "exit\0", 5) == 0) - { - exit_code = exit_builtin(cmd.argc, (const char **)cmd.argv); - write_history(minishell->history_file); - if (exit_code != -1) - break ; - } - else if (is_builtin(&cmd)) - exec_builtin(&cmd, minishell->envp); - else - exec_cmd(&cmd, minishell->envp); - } - } - - write_history(minishell->history_file); - rl_clear_history(); - if (line) - free(line); - return (exit_code); -} - -/** - * @brief Clears and frees resources associated with a t_minishell instance. - * - * This function performs the following actions: - * - Zeroes out the contents of the history_file string. - * - Frees the memory allocated for the history_file. - * - Frees the memory allocated for the path array using ft_free_split. - * - Zeroes out the entire t_minishell structure. - * - * @param minishell Pointer to the t_minishell structure to be cleared and - * freed. - */ -static void clear_minishell( - t_minishell *minishell -) -{ - ft_bzero(minishell->history_file, - ft_strlen(minishell->history_file) * sizeof(char)); - free(minishell->history_file); - ft_bzero(minishell, sizeof(t_minishell)); -} diff --git a/src/utils/get_hostname.c b/src/utils/get_hostname.c deleted file mode 100644 index 74759f1..0000000 --- a/src/utils/get_hostname.c +++ /dev/null @@ -1,46 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* get_hostname.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: sede-san