rnittaBadCommit / minishell_main

0 stars 1 forks source link

あとで修正するかも #15

Closed rnittaBadCommit closed 3 years ago

rnittaBadCommit commented 3 years ago

cat > の場合syntax errorなので、それも一緒に判別したい。 → char *func()からint func(char **ret)に変更して、 mallocに失敗:-1,  成功:0 syntax error:1なり-10なり適当な値 にしたい

========================= 仮定を ">" "<" ">>" を見つけたら、前後にスペースを開けた文字列を生成する関数 → その後にスプリット とした char ls[] = {"ls", NULL}; char ls1[] = {"ls", NULL};

char *rev[] = {"rev", NULL};
char *nl[] = {"nl", NULL};

char *cat[] = {"cat", "architecture.c", ">", "hi", ">", "hii" ,NULL};
char *cat1[] = {"cat", "architecture.c", NULL};

char *wc[] = {"wc", "-c", NULL};
char *head[] = {"head", "-c", "1000", NULL};
char *time[] = {"time", "-p", "sleep", "3", NULL};
char *echo[] = {"echo", "toto", NULL};

// raw_cmd → リダイレクトもファイル名も残したままのやつ
// cmd → リダイレクトもファイル名も削ぎ落として整形したやつ
char **raw_cmd[] = {cat, NULL};
char **cmd[] = {cat1, NULL};

pipeline(cmd, raw_cmd);

文字列配列STR_Aを基にしてリダイレクトを行う関数OK

_Originally posted by @sasakiyudai in https://github.com/rnittaBadCommit/minishell_main/issues/12#issuecomment-767294993_