杨浩然 3 роки тому
джерело
коміт
db0d8aefd2
17 змінених файлів з 349 додано та 4 видалено
  1. +77
    -1
      README.md
  2. BIN
      lab_report/1 Shell.doc
  3. +0
    -0
      lab_report/project-1.pdf
  4. BIN
      lab_report/structure.xmind
  5. BIN
      lab_report/test_case_img/cd.png
  6. BIN
      lab_report/test_case_img/exit.png
  7. BIN
      lab_report/test_case_img/history.png
  8. BIN
      lab_report/test_case_img/ls.png
  9. BIN
      lab_report/test_case_img/mytop.png
  10. BIN
      lab_report/test_case_img/pipe.png
  11. BIN
      lab_report/test_case_img/redirect_in.png
  12. BIN
      lab_report/test_case_img/redirect_out.png
  13. BIN
      lab_report/test_case_img/vi.png
  14. BIN
      lab_report/test_case_img/vi_bg.png
  15. +269
    -0
      lab_report/yeeshell.svg
  16. +3
    -3
      yeeshell.c

+ 77
- 1
README.md Переглянути файл

@ -1,3 +1,79 @@
# OS2021_Project1.Shell
OS2021_Project1.Shell
###
#### yeeshell.c
main function and function definition
#### yeeshell.h
function declaration and macro definition
###
### 1. Deployment
Pull from my shuishan git.
```shell
git clone root@gitea.shuishan.net.cn:10195501441/OS2021_Project1.Shell.git
```
In the **MINIX3** environment, use clang to compile the program.
```shell
clang yeeshell.c -o yeeshell
```
Run yeeshell.
```shell
./yeeshell
```
### 2. Test Case
​ (1) `cd /your/path`
<img src="E:\undergraduate\sophomore\SEM2\OS\experiments\1 Shell\OS2021_Project1.Shell\lab_report\test_case_img\cd.png" alt="cd" style="zoom: 76%;" />
​ (2) `ls -a -l`
<img src="E:\undergraduate\sophomore\SEM2\OS\experiments\1 Shell\OS2021_Project1.Shell\lab_report\test_case_img\ls.png" alt="ls" style="zoom:76%;" />
​ (3) `ls -a -l > result.txt`
<img src="E:\undergraduate\sophomore\SEM2\OS\experiments\1 Shell\OS2021_Project1.Shell\lab_report\test_case_img\redirect_out.png" alt="redirect_out" style="zoom:76%;" />
​ (4) `vi result.txt`
<img src="E:\undergraduate\sophomore\SEM2\OS\experiments\1 Shell\OS2021_Project1.Shell\lab_report\test_case_img\vi.png" alt="vi" style="zoom:76%;" />
​ (5) `grep a < result.txt`
<img src="E:\undergraduate\sophomore\SEM2\OS\experiments\1 Shell\OS2021_Project1.Shell\lab_report\test_case_img\redirect_in.png" alt="redirect_in" style="zoom:76%;" />
​ (6) `ls -a -l | grep a `
<img src="E:\undergraduate\sophomore\SEM2\OS\experiments\1 Shell\OS2021_Project1.Shell\lab_report\test_case_img\pipe.png" alt="pipe" style="zoom:76%;" />
​ (7) `vi result.txt`
​ This command can not be executed in the **MINIX3** environment. It prints the following error information.
<img src="E:\undergraduate\sophomore\SEM2\OS\experiments\1 Shell\OS2021_Project1.Shell\lab_report\test_case_img\vi_bg.png" alt="vi_bg" style="zoom:76%;" />
​ (8) `mytop `
<img src="E:\undergraduate\sophomore\SEM2\OS\experiments\1 Shell\OS2021_Project1.Shell\lab_report\test_case_img\mytop.png" alt="mytop" style="zoom:76%;" />
​ (9) `history n`
<img src="E:\undergraduate\sophomore\SEM2\OS\experiments\1 Shell\OS2021_Project1.Shell\lab_report\test_case_img\history.png" alt="history" style="zoom:76%;" />
​ (10) `exit`
<img src="E:\undergraduate\sophomore\SEM2\OS\experiments\1 Shell\OS2021_Project1.Shell\lab_report\test_case_img\exit.png" alt="exit" style="zoom:76%;" />

BIN
lab_report/1 Shell.doc Переглянути файл


project-1.pdf → lab_report/project-1.pdf Переглянути файл


BIN
lab_report/structure.xmind Переглянути файл


BIN
lab_report/test_case_img/cd.png Переглянути файл

Перед Після
Ширина: 1230  |  Висота: 68  |  Розмір: 7.5 KiB

BIN
lab_report/test_case_img/exit.png Переглянути файл

Перед Після
Ширина: 1230  |  Висота: 67  |  Розмір: 3.9 KiB

BIN
lab_report/test_case_img/history.png Переглянути файл

Перед Після
Ширина: 1230  |  Висота: 338  |  Розмір: 12 KiB

BIN
lab_report/test_case_img/ls.png Переглянути файл

Перед Після
Ширина: 1230  |  Висота: 273  |  Розмір: 29 KiB

BIN
lab_report/test_case_img/mytop.png Переглянути файл

Перед Після
Ширина: 1230  |  Висота: 101  |  Розмір: 13 KiB

BIN
lab_report/test_case_img/pipe.png Переглянути файл

Перед Після
Ширина: 1230  |  Висота: 305  |  Розмір: 34 KiB

BIN
lab_report/test_case_img/redirect_in.png Переглянути файл

Перед Після
Ширина: 1230  |  Висота: 305  |  Розмір: 34 KiB

BIN
lab_report/test_case_img/redirect_out.png Переглянути файл

Перед Після
Ширина: 1230  |  Висота: 340  |  Розмір: 37 KiB

BIN
lab_report/test_case_img/vi.png Переглянути файл

Перед Після
Ширина: 1230  |  Висота: 779  |  Розмір: 39 KiB

BIN
lab_report/test_case_img/vi_bg.png Переглянути файл

Перед Після
Ширина: 1230  |  Висота: 65  |  Розмір: 6.3 KiB

+ 269
- 0
lab_report/yeeshell.svg
Різницю між файлами не показано, бо вона завелика
Переглянути файл


+ 3
- 3
yeeshell.c Переглянути файл

@ -251,10 +251,10 @@ int do_pipe(char **pipe_arg_1, char **pipe_arg_2)
}
}
if ((prog_2 = fork()) == 0) /* Child process 1 */
if ((prog_2 = fork()) == 0) /* Child process 2 */
{
dup2(fds[0], 0);
close(0);
dup2(fds[0]);
close(fds[0]);
close(fds[1]);

Завантаження…
Відмінити
Зберегти