[운영체제] 쉘 프로그램

등록일 2003.11.14 한글 (hwp) | 11페이지 | 가격 1,500원

소개글

유닉스나 리눅스 같은 쉘 환경을 c언어를 이용하여 프로그램했습니다.

예) 아래와 같은 쉘 환경을 제공해준다. 유닉스나 리눅스에서 실행가능하다.

hw05> cat << exit

this is test.
Good~~~~
exit
this is test.
Good~~~~

hw05> history

1 ls -al
2 ls -al > 1.out
3 cat 1.out
4 cat << exit
5 history

목차

1. source code
2. 출력파일(*.out)2. hw05.out
3. c_out

본문내용

for (i=0; i<argc; i++) {
if((strcmp(argv[i],">") == 0) || (strcmp(argv[i], ">>") == 0)){
if(argv[i+1] == NULL)
printf("You must be forgotten next argument\n");
if(strcmp(argv[i],">") == 0 )
fid=open(argv[i+1],O_WRONLY | O_CREAT | O_TRUNC,0644);
else
fid = open(argv[i+1], O_WRONLY | O_APPEND | O_CREAT);
// ">>"일 경우 APPEND 옵션을 주어야 한다.
if(fid < 0) { // 파일을 열지 못할경우 에러
perror(argv[i+1]);
exit(1);
}
imsi = dup(STDOUT_FILENO); // stdout을 백업하고
dup2(fid,STDOUT_FILENO); // open한 fid가 현재의 출력을 대신한다.
close(fid);
free (argv[i]); // 쓸모가 없게 된 부분은 제거한다.
free(argv[i+1]);
argv[i] = argv[i+1] = NULL;
argc -= 2;
opt_out = 1; // 현재 표준출력모드가 아니라는 옵션
}
      최근 구매한 회원 학교정보 보기
      1. 최근 2주간 다운받은 회원수와 학교정보이며
         구매한 본인의 구매정보도 함께 표시됩니다.
      2. 매시 정각마다 업데이트 됩니다. (02:00 ~ 21:00)
      3. 구매자의 학교정보가 없는 경우 기타로 표시됩니다.
      최근 본 자료더보기
      추천도서