mirror of https://github.com/01-edu/public.git
fix(0shell): remove mandatory use of low-level system calls and make it bonus
This commit is contained in:
parent
61b2670c5a
commit
9e308f27e2
|
@ -28,7 +28,7 @@ For this project you will only have to create a simple `Unix shell` where you ca
|
||||||
- `mkdir`
|
- `mkdir`
|
||||||
- `exit`
|
- `exit`
|
||||||
|
|
||||||
> The commands need to be implemented from scratch, without calling any external binaries and exclusively using low-level system calls directly, without relying on built-in functions or libraries that abstract file operations?
|
> The commands need to be implemented from scratch, without calling any external binaries.
|
||||||
|
|
||||||
- You must manage the program interruption `Ctrl + D`.
|
- You must manage the program interruption `Ctrl + D`.
|
||||||
- The project has to be written in a compiled language (like C, Rust, Go or other), **interpreted languages (like Perl and others) are not allowed**.
|
- The project has to be written in a compiled language (like C, Rust, Go or other), **interpreted languages (like Perl and others) are not allowed**.
|
||||||
|
@ -48,6 +48,10 @@ This project will help you learn about:
|
||||||
|
|
||||||
You can also do more bonus features like:
|
You can also do more bonus features like:
|
||||||
|
|
||||||
|
- Implement the commands exclusively using `low-level system calls` avoiding built-in functions or libraries that abstract file operations.
|
||||||
|
|
||||||
|
- Avoid High-Level Abstractions: Instead of using functions like the Go `os.Open, os.Remove, and io.Copy`, you would use system calls directly through the `syscall` package using `syscall.Open, syscall.Close, syscall.Read, syscall.Write, syscall.Unlink`.
|
||||||
|
|
||||||
- Manage the interruption `Ctrl + C`
|
- Manage the interruption `Ctrl + C`
|
||||||
- Auto complete when you are writing
|
- Auto complete when you are writing
|
||||||
- Add piping
|
- Add piping
|
||||||
|
|
|
@ -2,7 +2,9 @@
|
||||||
|
|
||||||
###### Was the project written in a compiled programming language?
|
###### Was the project written in a compiled programming language?
|
||||||
|
|
||||||
###### Are the commands mentioned in the subject implemented from scratch, without calling any external binaries and exclusively using low-level system calls directly, without relying on built-in functions or libraries that abstract file operations?
|
###### Are the commands mentioned in the subject implemented from scratch, without calling any external binaries?
|
||||||
|
|
||||||
|
The use of execution commands (such as exec, system, os/exec, or similar functions) to call **external binaries** or utilities is strictly forbidden, as the project requires implementing all functionality from scratch without relying on external programs.
|
||||||
|
|
||||||
#### Functional
|
#### Functional
|
||||||
|
|
||||||
|
@ -76,7 +78,9 @@
|
||||||
|
|
||||||
#### Bonus
|
#### Bonus
|
||||||
|
|
||||||
###### +Did the student added auto complete when you are writting the commands?
|
###### + Did the student implemented the commands exclusively using `low-level system calls` avoiding built-in functions or libraries that abstract file operations?
|
||||||
|
|
||||||
|
###### +Did the student added auto complete when you are writing the commands?
|
||||||
|
|
||||||
###### +Did the student added piping?
|
###### +Did the student added piping?
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue