Minishell 1.0
42 School Minishell Project - A simple shell implementation
Yüklüyor...
Arıyor...
Eşleşme Yok
builtins.c
Bu dosyanın dokümantasyonuna git.
1/* ************************************************************************** */
2/* */
3/* ::: :::::::: */
4/* builtins.c :+: :+: :+: */
5/* +:+ +:+ +:+ */
6/* By: hgenc <hgenc@student.42kocaeli.com.tr> +#+ +:+ +#+ */
7/* +#+#+#+#+#+ +#+ */
8/* Created: 2026/01/17 18:42:00 by hgenc #+# #+# */
9/* Updated: 2026/01/18 17:23:00 by hgenc ### ########.fr */
10/* */
11/* ************************************************************************** */
12
14
15/*
16** Komutun builtin olup olmadığını kontrol eder
17** @return: 1 = builtin, 0 = değil
18*/
19int is_builtin(char *cmd)
20{
21 if (!cmd)
22 return (0);
23 if (ft_strcmp(cmd, "echo") == 0)
24 return (1);
25 if (ft_strcmp(cmd, "cd") == 0)
26 return (1);
27 if (ft_strcmp(cmd, "pwd") == 0)
28 return (1);
29 if (ft_strcmp(cmd, "export") == 0)
30 return (1);
31 if (ft_strcmp(cmd, "unset") == 0)
32 return (1);
33 if (ft_strcmp(cmd, "env") == 0)
34 return (1);
35 if (ft_strcmp(cmd, "exit") == 0)
36 return (1);
37 return (0);
38}
39
40/*
41** Builtin komutu çalıştırır
42** @return: Komutun exit status'u
43*/
44int execute_builtin(t_shell *shell, t_cmd *cmd)
45{
46 char *name;
47
48 if (!cmd || !cmd->args || !cmd->args[0])
49 return (1);
50 name = cmd->args[0];
51 if (ft_strcmp(name, "echo") == 0)
52 return (builtin_echo(cmd));
53 if (ft_strcmp(name, "pwd") == 0)
54 return (builtin_pwd(shell));
55 if (ft_strcmp(name, "env") == 0)
56 return (builtin_env(shell, cmd));
57 if (ft_strcmp(name, "cd") == 0)
58 return (builtin_cd(shell, cmd));
59 if (ft_strcmp(name, "export") == 0)
60 return (builtin_export(shell, cmd));
61 if (ft_strcmp(name, "unset") == 0)
62 return (builtin_unset(shell, cmd));
63 if (ft_strcmp(name, "exit") == 0)
64 return (builtin_exit(shell, cmd));
65 return (1);
66}
int builtin_cd(t_shell *shell, t_cmd *cmd)
Definition builtin_cd.c:78
int builtin_echo(t_cmd *cmd)
int builtin_env(t_shell *shell, t_cmd *cmd)
Definition builtin_env.c:22
int builtin_exit(t_shell *shell, t_cmd *cmd)
int builtin_export(t_shell *shell, t_cmd *cmd)
int builtin_pwd(t_shell *shell)
Definition builtin_pwd.c:22
int builtin_unset(t_shell *shell, t_cmd *cmd)
int execute_builtin(t_shell *shell, t_cmd *cmd)
Definition builtins.c:44
int is_builtin(char *cmd)
Definition builtins.c:19
Minishell ana header dosyası
struct s_cmd t_cmd
struct s_shell t_shell
char ** args
Definition minishell.h:129
int ft_strcmp(const char *s1, const char *s2)
Definition utils.c:48