Я пытаюсь понять программу здесь
Я не смог понять
static int split(char *cmd_exec, int input, int first, int last)
функция, какова цель ввода int, сначала int, здесь int int,
эта функция возвращает return command(input, first, last, new_cmd_exec1);
что означают input, first, last и new_cmd_exec1?
Почему мы должны проливать команды, передаваемые в оболочку?
Соответствующий код следующий
static int split(char *cmd_exec, int input, int first, int last)
{
char *new_cmd_exec1;
new_cmd_exec1=strdup(cmd_exec);
//else
{
int m=1;
args[0]=strtok(cmd_exec," ");
while((args[m]=strtok(NULL," "))!=NULL)
m++;
args[m]=NULL;
if (args[0] != NULL)
{
if (strcmp(args[0], "exit") == 0)
exit(0);
if (strcmp(args[0], "echo") != 0)
{
cmd_exec = skipcomma(new_cmd_exec1);
int m=1;
args[0]=strtok(cmd_exec," ");
while((args[m]=strtok(NULL," "))!=NULL)
m++;
args[m]=NULL;
}
if(strcmp("cd",args[0])==0)
{
change_directory();
return 1;
}
else if(strcmp("pwd",args[0])==0)
{
parent_directory();
return 1;
}
}
}
return command(input, first, last, new_cmd_exec1);
}