A custom-built command-line interface that provides a user-friendly environment for interacting with the operating system.
-
- Showing commands from history in-line
- If UP or DOWN is pressed, the input line replaces with line from history (buttons allow to navigate through commands list).
-
- Ability to create custom abbreviations
- If input is "setabbr <value> <key>", value and key are writing to a file, and in all following inputs replaces with before executing. might contain whitespaces.
-
- Autocomplete of commands according to its frequency of use
- If TAB is pressed, current command completes to the most used command from history starting the same way (if TAB is pressed when input is empty, it just completes to the most used command).
-
- Ability to add labels (consisting of a description and optionally a color) to folders
- If input is "ldir /path/to/the/folder -d description /[-c color/]", this directory will be provided with description (shown by entering directory) and color in prompts.
-
- Ability to redirect input and output
- If input contains '>', '<' or '>>', it will be recognized as command to redirect input/output to the required source/destination.
-
- Ability to use pipelines
- If input contains '|', output of the input before pipe will be redirected to the part after it.
- GCC
- Make
- BASH
- Clone the repository:
git clone https://github.com/ppaa23/gogishell.git
cd gogishell- Build the project:
make- Run tests:
make testBe careful, testing deletes all your cache
make runor
cd build
./GoGiShellAfter launching pseudoshell you can use internal BASH command and GoGiShell commands as well. Here is video capture showing basic functionality and features of GoGiShell: https://www.youtube.com/watch?v=DZAADn251h0