X-Git-Url: https://git.armaanb.net/?p=gen-shell.git;a=blobdiff_plain;f=README.md;h=5b0e8356c34e5000384987693a1cd20d433bc4f2;hp=481053d4e7edc3dd5a06969ae9c1cc2e7bdaeaca;hb=HEAD;hpb=23462855da29a6a5cde4110e7dc339d96fa36e45 diff --git a/README.md b/README.md index 481053d..5b0e835 100644 --- a/README.md +++ b/README.md @@ -1,51 +1,20 @@ # gen-shell -![Jenkins](https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fbuild.bhojwani.org%2Fjob%2Fgen-shell%2F) -A simple way to turn any command into a shell with arrow key/history support (if compiled with libreadline). Forked from [taskshell](https://github.com/GothenburgBitFactory/taskshell). +A simple way to turn any command into a REPL with arrow key/history support. ## Usage -Just put the command that you want to repeat after the c flag, eg; `gen-shell -c ls`, or even something much more complex like `gen-shell -c "cd /home/armaa/Clone/words && /home/armaa/Clone/words/bin/words"` This command was actually the inspiration for gen-shell. +See `gen-shell --help` ## Installation -### From a binary -Binaries can be downloaded [from here](https://build.bhojwani.org/job/gen-shell/lastSuccessfulBuild/artifact/build/src/gen-shell). NB: these binaries are compiled against libreadline7, so if your system only has libreadline8, you can symlink 8 to 7 with `sudo ln -s /usr/lib/x86_64-linux-gnu/libreadline.so.8.0 /usr/lib/x86_64-linux-gnu/libreadline.so.7`. This isn't a great solution, but it gets the job done. +Dependencies: + - POSIX make + - a c++ compiler and standard library + - libreadline development files (7 or 8 is fine, 5 is untested) -### From source -If you would like to avoid this, you can build from source. Doing so requires: - - cmake (2.8 or higher) - - make - - gcc - - g++ (sometimes packaged as gcc-c++ or gcc-g++) - - cpp (any somewhat recent version is fine) - - libreadline development files (7 or 8 is fine, 5 is untested) (optional, but highly reccomended) - -On a Debian or Ubuntu based distribution, you can install these dependencies with this command: -```bash -sudo apt update && sudo apt install cmake make gcc g++ cpp libreadline-dev -``` -Then download and build gen shell: ```bash -git clone --recursive https://codeberg.org/armaan/gen-shell -cd gen-shell -cmake . make -sudo cp src/gen-shell /usr/bin/ -``` -Or, if you don't have root access, you can subsitute the last line with -`cp src/gen-shell ~/.local/bin` - -### Docker -You can also run gen-shell in docker. Simply use -```bash -docker run -it -e CMD= armaanb/gen-shell -``` -Or to build the docker container locally, run: -```bash -git clone --recursive https:/codeberg.org/armaan/gen-shell -cd gen-shell -docker build --no-cache -t gen-shell:latest . -docker run -it -e CMD= gen-shell +make install ``` ## License -Following suit from taskshell, gen-shell is MIT licensed by Armaan Bhojwani, 2020. Gen-shell is forked from taskshell, which was developed by [these people](https://github.com/GothenburgBitFactory/taskshell/blob/master/AUTHORS). +Following suit from taskshell, gen-shell is MIT licensed by Armaan Bhojwani, 2021. Gen-shell is forked from taskshell, which was developed by [these people](https://github.com/GothenburgBitFactory/taskshell/blob/master/AUTHORS). -Gen-shell uses the [Sarge library](https://github.com/MayaPosch/Sarge) for parsing command-line arguments. Sarge was written by Maya Posch and is BSD 3-Clause licensed. It is added as a submodule in the root folder of this repository. +Gen-shell uses the [Sarge library](https://github.com/MayaPosch/Sarge) for parsing command-line arguments. Sarge was written by Maya Posch and is BSD 3-Clause licensed.