コード例 #1
0
ファイル: ft_command_line.c プロジェクト: Grep-Juub/minishell
static int	ft_check_bultins(char *cmd, t_env *env, char *arg)
{
	if (!ft_strcmp(cmd, "cd"))
	{
		return (1);
	}
	else if (!ft_strcmp(cmd, "exit"))
	{
		return (1);
	}
	else if (!ft_strcmp(cmd, "setenv") || !ft_strcmp(cmd, "export"))
	{
		ft_set_env(arg, env);
		return (1);
	}
	else if (!ft_strcmp(cmd, "unsetenv") || !ft_strcmp(cmd, "unset"))
	{
		ft_unset_env(arg, env);
		return (1);
	}
	else if (!ft_strcmp(cmd, "env"))
	{
		ft_print_env(env->env);
		return (1);
	}
	else
		return (0);
}
コード例 #2
0
ファイル: ft_sh12.c プロジェクト: ngouy/projet06_sh1
int					ft_tmp_env(char ***args, int *argc, char ***temp,
		char **envp)
{
	char	*lvl;

	if (!ft_strcmp((*args)[1], "-i"))
	{
		if ((*argc) == 2)
			return (3);
		(*temp) = ft_set_env(NULL);
		(*args)++;
		(*argc)--;
		return (1);
	}
	else
		(*temp) = ft_set_env(envp);
	if ((lvl = ft_found(*temp, "SHLVL=", 1)))
		lvl = ft_strcpy(lvl, ft_itoa(ft_atoi(lvl) - 1));
	return (0);
}
コード例 #3
0
ファイル: ft_cmd.c プロジェクト: scluckas/littleShell
int		ft_cmd(char **line, t_env *var)
{
	int		i;

	i = 0;
	if (!line || !line[0])
		return (0);
	else if (ft_strcmp(line[0], "env") == 0)
		ft_show_env(var);
	else if (ft_strcmp(line[0], "unsetenv") == 0)
		ft_del_env(var, line[1]);
	else if (ft_strcmp(line[0], "setenv") == 0)
		var = ft_set_env(var, line[1]);
	else if (ft_strcmp(line[0], "cd") == 0)
		ft_change_directory(var, line[1]);
	else if (ft_strcmp(line[0], "exit") == 0)
		return (1);
	else
		ft_exec(line[0], line, var);
	return (0);
}