기글 하드웨어 질문 게시판
각종 질문을 올릴 수 있는 곳입니다. 먼저 검색해 보고 질문을 올리는 것이 더 효율적입니다. 충분한 정보와 예의를 갖춰 글을 작성해 주시고 문제가 해결되면 꼭 댓글을 달아 주세요.
간단하미 미니쉘 만들어 보고 있는데 뭐가 문제인지 잘 모르겟네요
일단 pwd나 ls 같이 /bin 디랙토리에 있는걸 fgets로 입력 받아서 실행 시키고 싶은데...음.. (우분투 gcc 입니다.)
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <string.h>
#include <sys/wait.h>
#include <sys/types.h>
int main(void)
{
pid_t pid;
char *argv[3];
char *argc[255];
char b[50];
//argv[0] = a;
/*argv[1] = "NULL";
argv[2] = "NULL";*/
puts(b);
while(1)
{
fgets(b,sizeof(b),stdin);
argv[0] = b;
argv[1] = "NULL";
if(strncmp(b, "end\n", 5) == 0)
break;
switch (pid = fork())
{
case -1:
perror("fork erro");
exit(1);
break;
case 0:
if(execv("/bin/", argv) == -1)
{
perror("d");
exit(1);
}
exit(0);
break;
default :
break;
}
}
return 0;
}
일단 이리 짜두기는 했는데 역시 오류가 뜨네요 ㅠㅜ
(한2년 안하니 초기화 해서 다시 공부중 입니다...)
작성된지 2주일이 지난 글에는 새 코멘트를 달 수 없습니다.
참고로 kldp.org 같은 곳이 더 적극적으로 답변해줄 것 같기도 하고요.