이것은 Universidad De A Coruña 컴퓨터 과학 2학년의 운영 체제 과목을 위한 프로젝트입니다. 모든 할당은 모든 기능에 대한 설명과 함께 labAssignments 폴더에 있습니다.
이 프로그램은 bash 및 zsh가 수행하는 것과 유사한 셸로 구성되어 있으며 일부 기능이 포함되어 있으며 *nix 시스템에서 다른 명령을 실행할 수 있는 기능도 포함되어 있습니다.
" ayuda " 명령을 실행하면 포함된 모든 기능의 목록을 얻을 수 있고, 알고 싶은 명령인 " ayuda command " 명령을 실행하면 각 기능에 대한 간단한 설명을 얻을 수 있습니다. 이름이 포함된 명령과 충돌하지 않는 한 다른 쉘에서처럼 시스템에 설치된 다른 명령을 실행할 수도 있습니다. 쉘을 종료하려면 salir , fin , bye 또는 exit 를 실행할 수 있습니다.
Linux BSD 또는 MacOS와 같은 *nix 운영 체제에 gcc를 설치해야 합니다. 다음을 사용하여 컴파일할 수 있습니다.
make
그리고 다음을 사용하여 실행하세요.
./shell
우리의 코드는 더 쉽게 작업하고 이해할 수 있도록 여러 파일로 나누어져 있습니다.
주요 기능과 함께 프롬프트 및 처리 기능이 포함되어 있습니다.
작은 설명과 함께 특정 목록을 제외하고 모든 기능에 대한 모든 헤더를 포함합니다. 우리가 사용하는 모든 라이브러리를 포함하십시오. 코드에 사용되는 구조체 및 데이터 유형을 정의합니다.
우리는 생성 시 지정된 다양한 종류의 값을 저장하기 위해 하나의 목록 구현만 사용하기로 선택했습니다. p4.c의 기본 함수에서 해당 목록의 생성을 확인할 수 있습니다.
명령 목록과 기본 기능이 포함되어 있지만 대부분은 보조 기능에 의존합니다.
이전 범주에 맞지 않는 다른 모든 기능을 포함합니다. 우리는 더 쉽게 탐색할 수 있도록 Commands.c에서 코드의 큰 부분을 분리하기로 결정했습니다.