SM_shell 프로그램에서 사용할 수 있는 명령어를 보여주는 help 명령어를 구현했다.
(명령어 목록은 계속 추가될 것이므로 계속 수정될 것)
help 명령은 쉘에 help를 입력하거나 등록되지 않은 명령어를 입력했을 때 수행된다.
#include <stdio.h>
void help() {
printf("Usage : \n");
printf(" > help\n");
printf(" > exit\n\n");
}
help 명령은 fork()로 자식 프로세스를 생성해 수행한다.
// SM_shell.c
#include "my_header.h"
...
void helpExec() {
pid_t pid;
if ((pid = fork()) < 0) {
fprintf(stderr, "fork error\n");
exit(1);
}
else if (pid == 0) {
execl(execName, "help", (char *)0);
exit(0);
}
else {
pid = wait(NULL);
}
}
...
int main(int argc, char **argv) {
init();
strcpy(execName, argv[0]);
if (!strcmp(argv[0], "help")) {
help();
}
...
exit(0);
}
위 코드는 아래 이미지를 클릭해 깃허브에서도 확인할 수 있다.
'Linux > 쉘, 쉘 명령어 구현하기' 카테고리의 다른 글
[쉘 구현하기] execv() 사용을 위한 문자열 배열 만들기 (0) | 2023.08.11 |
---|---|
[쉘 구현하기] ls 명령어 터미널 크기에 최적화 (0) | 2023.08.09 |
[쉘 구현하기] ls 명령어 구현 (0) | 2023.08.09 |
[쉘 구현하기] pwd 명령어 구현 (0) | 2023.08.08 |
[쉘 구현하기] 쉘 초기 형태 (0) | 2023.08.08 |