익명 사용자
로그인하지 않음
계정 만들기
로그인
youngwiki
검색
Shell 문서 원본 보기
youngwiki
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
원본 보기
역사
←
Shell
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
상위 문서: [[Signals and Nonlocal jumps]] ==개요== Shell이란 사용자 명령을 실행하는 애플리케이션 프로그램이다. 다음은 shell의 대표적인 예시이다. * sh : 오리지널 Unix 쉘 (Stephen Bourne, AT&T Bell Labs, 1977) * csh/tcsh : BSD Unix C 쉘 * bash : Bourne-Again Shell (리눅스 기본 쉘) Shell은 아용자의 명령어를 입력받고, 이를 실행시키는 식으로 작동한다. ==예시== <syntaxhighlight lang="cpp"> int main() { char cmdline[MAXLINE]; /* command line */ while (1) { /* read */ printf("> "); Fgets(cmdline, MAXLINE, stdin); if (feof(stdin)) exit(0); /* evaluate */ eval(cmdline); } } <syntaxhighlight> <syntaxhighlight lang="cpp"> void eval(char *cmdline) { char *argv[MAXARGS]; /* Argument list execve() */ char buf[MAXLINE]; /* Holds modified command line */ int bg; /* Should the job run in bg or fg? */ pid_t pid; /* Process id */ strcpy(buf, cmdline); bg = parseline(buf, argv); if (argv[0] == NULL) return; /* Ignore empty lines */ if (!builtin_command(argv)) { if ((pid = fork()) == 0) { /* Child runs user job */ if (execve(argv[0], argv, environ) < 0) { printf("%s: Command not found.\n", argv[0]); exit(0); } } /* Parent waits for foreground job to terminate */ if (!bg) { int status; if (waitpid(pid, &status, 0) < 0) unix_error("waitfg: waitpid error"); } else { printf("%d %s\n", pid, cmdline); // 개행 추가 } } return; } <syntaxhighlight> ==각주== [[분류:컴퓨터 시스템]]
Shell
문서로 돌아갑니다.
둘러보기
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록