Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

273 Commits

Folders and files

Repository files navigation

  1. 프로젝트 소개 실행화면
    • Bash와 유사한 기능을 제공하는 Shell을 직접 제작하여 시스템 프로그래밍 및 OS 기초 역량 강화
  2. 프로젝트 개요
    • 프롬프트 출력 & 명령어 실행
      • 사용자 입력을 받아 PATH 환경변수 기반으로 실행 파일 탐색 및 실행.
    • 입출력 리다이렉션 지원
      • <, >, >>, << 연산자를 통한 표준입출력 제어 구현.
    • 파이프라인 처리
      • | 명령어 파이프 연결 기능 개발.
    • 환경 변수 확장
      • $VAR, $? 등의 변수 치환 로직 구현.
    • 인용부호 처리
      • ', " 구분에 따른 메타문자 해석 규칙 적용.
    • 신호 처리
      • ctrl-C, ctrl-D, ctrl-\ 에 대한 bash 유사 동작 구현.
    • 내장 명령어 구현:
      • echo -n
      • cd (상대/절대 경로)
      • pwd
      • export / unset
      • env
      • exit
  3. 진행한 일
    • 명령어 입력 문자열 파싱 로직 구현 (토큰 분리, 인용부호 처리, 환경변수 확장 등)
    • echo, cd, pwd, export, unset, env, exit 등 내장 명령어(builtin) 기능 구현
    • 파이프(|), 리다이렉션(<, >, >>, <<)과 같은 입출력 처리 과정에서 파싱 결과와 실행 로직 연결
  4. 과정
    • Bash 동작 원리를 분석하여 토큰화 및 구문 해석 과정 설계
    • 에러/예외 상황(미닫힌 따옴표, 잘못된 경로, 없는 변수 등)에 대한 처리 규칙을 구현
    • 내장 명령어를 외부 실행 명령어와 동일한 인터페이스로 동작하도록 구조화
  5. 결과물
    • 사용자 입력을 정상적으로 파싱해 실행 가능한 형태로 변환
    • Bash와 유사하게 동작하는 내장 명령어 실행 가능
    • 다중 파이프 및 리다이렉션 조합도 처리 가능한 동작 환경 구현
    • 테스트 케이스를 작성하여 다양한 입력 시나리오 검증
  6. 성장한 점
    • 파싱/토큰화 로직을 직접 설계·구현하며 문자열 처리 및 자료구조 설계 역량 강화
    • 운영체제의 프로세스 생성(fork, execve) 및 파일 디스크립터 제어 원리에 대한 실무적 이해 심화
    • 실제 Shell 수준의 프로그램을 직접 만들어보며 C 기반 시스템 프로그래밍 실력을 크게 향상
  7. 역량
    • 문자열 파싱 및 명령어 해석 알고리즘 설계 능력
    • 내장 명령어를 포함한 핵심 기능 단위 모듈 구현 역량
    • 프로세스/파일 디스크립터 제어, 시그널 처리 등 저수준 시스템 프로그래밍 역량
    • 테스트 기반 디버깅 및 기능 검증 경험

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages