Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/linguawork/ft_minishell
Minishell is the project of the ecole 42. It's a minimum viable version of a real shell. The main goal is to have a good understanding of process creation and synchronisation using the C programmming language.
https://github.com/linguawork/ft_minishell
minibash processes shell
Last synced: about 1 month ago
JSON representation
Minishell is the project of the ecole 42. It's a minimum viable version of a real shell. The main goal is to have a good understanding of process creation and synchronisation using the C programmming language.
- Host: GitHub
- URL: https://github.com/linguawork/ft_minishell
- Owner: linguawork
- Created: 2022-05-19T09:56:40.000Z (over 2 years ago)
- Default Branch: areggie
- Last Pushed: 2022-06-13T10:55:43.000Z (over 2 years ago)
- Last Synced: 2024-01-29T13:00:56.466Z (11 months ago)
- Topics: minibash, processes, shell
- Language: C
- Homepage:
- Size: 605 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Info
Russian brief intro
Командный (парный) проект подразумевает знание и использование команд системы контроля версий GIT.
Напарником по проекту был mihdevel (указан в качестве collaborator в этом проекте).Язык проекта – С. Разработка собственной упрощенной версии командной оболочки Unix shell: minishell, которая запускается в терминале и способна с помощью парсинга входных данных анализировать вводимые команды и исполнять их.
Напарник писал парсер, сигналы и подключил библиотеку readline.
Моя роль в проекте – написать исполнительную часть. Я написал реализацию встроенных (builtin) функций: echo, unset, export, cd, pwd, env, также реализовал пайпы и редиректы. Проект направлен на изучение работы ядра системы Unix, понимание создания и взаимодействия процессов.English intro
The existence of shells is linked to the very existence of IT.
At the time, all developers agreed that communicating with a computer using aligned
1/0 switches was seriously irritating.
It was only logical that they came up with the idea of creating a software to communicate with a computer using interactive lines of commands in a language somewhat close to the human language.
Thanks to Minishell, I am able to travel through time and come back to problems
people faced when Windows didn’t exist.The project is written in C.
• It is written in accordance with the Norm.• The project has Makefile which compiles source files to the required output with the flags -Wall, -Wextra and -Werror
• Makefile contains the rules $(NAME), all, clean, fclean and re.
### Shell for Unix
Minishell is the project of the **School 21**. It's a minimum viable version of a real shell.
The main goal is to have a good understanding of process creation and synchronisation using the C programmming language.Status: finished
Result: 105%
It is compatible with Linux and Mac OS.Developed by: **linguawork** and **mihdevel**
***## Getting Started
1. Inslall `readline` library;
2. Make sure you have brew installed to run readline,otherwise check the bottom of the page for the command to run
3. Use `git` to clone this project `git clone https://github.com/linguawork/ft_minishell`;
4. Direct to the root directory `cd ./minishell`;
5. Build this project using Makefile `make` (make rules: all, run, clean, fclean and re);
6. Get Started! `./minishell`.
7. Please, check the readline version (currently it is 8.1.2)
and correct the version folder name in Makefile to avoid conflicts
***## How install readline library
### Linux
On Debian based platforms, like Ubuntu:
sudo apt install libreadline-dev
Platforms with yum, like SUSE:
yum install readline-devel
For other platform please search for the package name on google, thx :)
### MAC
Initially make sure you have brew installed. If not, please, run:curl -fsSL https://rawgit.com/kube/42homebrew/master/install.sh | zsh
then run:
brew install readline
#Additional resources:
An instruction document that describes how to debug a child process in VSCode.
[ChildProcessDebuggingVSCode.docx](https://github.com/linguawork/ft_minishell/files/8890385/ChildProcessDebuggingVSCode.docx)