검색어 입력폼

[운영체제]Mini Shell 구현

저작시기 2005.09 | 등록일 2006.02.22 한글파일 한컴오피스 (hwp) | 5페이지 | 가격 2,000원

소개글

UNIX 상에서 fork(), execv(), wait() 등을 사용하여, 유저의 커맨드를 실행시키는 mini shell 프로그램을 구현하는 소스.

목차

1. Source
2. Output 예제

본문내용

.SOURCE

#include<stdio.h>
#include<sys/wait.h>
#include<sys/file.h>
#include<sys/stat.h>
#include<string.h>
#include<unistd.h>
#include<stdlib.h>

#define buffer 100 // 최대 버퍼 사이즈
#define BOOL int
#define FALSE 0
#define TRUE !(FALSE)

FILE *fd,*history;
char cmdLine[2][buffer];
int numcmd;

void execution(); // 명령어 실행 함수
void Redirect(); // Redirection 함수
void history_output(); // history 화면에 출력하는 함수
void history_exe(); // history 출력 후 실행하는 함수
void pipe_exe(); // pipe 실행 함수

int main(){
pid_t pid;
int stat, history_cnt=0;
char *temp;
BOOL IsBackground = FALSE;

while(1){
printf("mini-shell$> ");

fgets(cmdLine[0],buffer,stdin); // 명령어 읽기
numcmd=strlen(cmdLine[0]); // 명령어 길이
cmdLine[0][numcmd-1]=`\0`; // 명령어 마지막에 NULL 삽입

if(cmdLine[0]!=" "){
history_cnt++;
history=fopen("history.dat","a"); // history.dat 파일을 이용 history저장
fprintf(history,"%d: %s\n",history_cnt,cmdLine[0]);
fclose(history);
}

참고 자료

없음
다운로드 맨위로