Bläddra i källkod

commit files

master
杨浩然 3 år sedan
förälder
incheckning
db0d8aefd2
17 ändrade filer med 349 tillägg och 4 borttagningar
  1. +77
    -1
      README.md
  2. Binär
      lab_report/1 Shell.doc
  3. +0
    -0
      lab_report/project-1.pdf
  4. Binär
      lab_report/structure.xmind
  5. Binär
      lab_report/test_case_img/cd.png
  6. Binär
      lab_report/test_case_img/exit.png
  7. Binär
      lab_report/test_case_img/history.png
  8. Binär
      lab_report/test_case_img/ls.png
  9. Binär
      lab_report/test_case_img/mytop.png
  10. Binär
      lab_report/test_case_img/pipe.png
  11. Binär
      lab_report/test_case_img/redirect_in.png
  12. Binär
      lab_report/test_case_img/redirect_out.png
  13. Binär
      lab_report/test_case_img/vi.png
  14. Binär
      lab_report/test_case_img/vi_bg.png
  15. +269
    -0
      lab_report/yeeshell.svg
  16. +3
    -3
      yeeshell.c

+ 77
- 1
README.md Visa fil

@ -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är
lab_report/1 Shell.doc Visa fil


project-1.pdf → lab_report/project-1.pdf Visa fil


Binär
lab_report/structure.xmind Visa fil


Binär
lab_report/test_case_img/cd.png Visa fil

Före Efter
Bredd: 1230  |  Höjd: 68  |  Storlek: 7.5 KiB

Binär
lab_report/test_case_img/exit.png Visa fil

Före Efter
Bredd: 1230  |  Höjd: 67  |  Storlek: 3.9 KiB

Binär
lab_report/test_case_img/history.png Visa fil

Före Efter
Bredd: 1230  |  Höjd: 338  |  Storlek: 12 KiB

Binär
lab_report/test_case_img/ls.png Visa fil

Före Efter
Bredd: 1230  |  Höjd: 273  |  Storlek: 29 KiB

Binär
lab_report/test_case_img/mytop.png Visa fil

Före Efter
Bredd: 1230  |  Höjd: 101  |  Storlek: 13 KiB

Binär
lab_report/test_case_img/pipe.png Visa fil

Före Efter
Bredd: 1230  |  Höjd: 305  |  Storlek: 34 KiB

Binär
lab_report/test_case_img/redirect_in.png Visa fil

Före Efter
Bredd: 1230  |  Höjd: 305  |  Storlek: 34 KiB

Binär
lab_report/test_case_img/redirect_out.png Visa fil

Före Efter
Bredd: 1230  |  Höjd: 340  |  Storlek: 37 KiB

Binär
lab_report/test_case_img/vi.png Visa fil

Före Efter
Bredd: 1230  |  Höjd: 779  |  Storlek: 39 KiB

Binär
lab_report/test_case_img/vi_bg.png Visa fil

Före Efter
Bredd: 1230  |  Höjd: 65  |  Storlek: 6.3 KiB

+ 269
- 0
lab_report/yeeshell.svg
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 3
- 3
yeeshell.c Visa fil

@ -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]);

Laddar…
Avbryt
Spara