X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=README.md;h=a7d8e301c5152da1e988e80c36ed00c6a21d2281;hb=d8afd601de1f0d8afe6eff61d40ff52d21d90fd8;hp=d48c1564e07e2b190b12cafda40ace1795c060df;hpb=7e910e686c101122fbdf8a463e370d2bc703a5d6;p=gen-shell.git diff --git a/README.md b/README.md index d48c156..a7d8e30 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,22 @@ # gen-shell ![Jenkins](https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fbuild.bhojwani.org%2Fjob%2Fgen-shell%2F) -=== WORK IN PROGRSS === -A simple way to turn any command into a shell with arrow key/history suppoert. This is a fork of [taskshell](https://github.com/GothenburgBitFactory/taskshell) with a highly reduce codebase. +A simple way to turn any command into a shell with arrow key/history support. This is a fork of [taskshell](https://github.com/GothenburgBitFactory/taskshell) with a highly reduce codebase. ## Usage -Just put the command that you want to repeat as the argument +Just put the command that you want to repeat after `gen-shell`, eg; `gen-shell ls`, or even something much more complex like `gen-shell "cd /home/armaa/Clone/words && /home/armaa/Clone/words/bin/words` This command was actually the inspiration for gen-shell. ## Installation -Binaries can be downloaded [from here](https://build.bhojwani.org/job/gen-shell/lastSuccessfulBuild/artifact/build/src/gen-shell). Note that these binaries are compiled against libreadline7, so if your system only has libreadline8, you should 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. +### Binaries +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. +### From source If you would like to avoid this, you can build from source. Doing so requires: - - CMake - - g++ - - libreadline development files - + - cmake (2.8 or higher) + - make + - gcc + - g++ (sometimes packaged as gcc-c++ or gcc-g++) + - cpp (11 or higher) + - libreadline development files (7 or 8 is fine, 5 is untested) ```bash git clone https://codeberg.org/armaan/gen-shell cd gen-shell @@ -23,3 +26,20 @@ 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:latest +``` +Or to build the docker container locally +```bash +git clone https://codeberg.org/armaan/gen-shell +cd gen-shell +docker build -t armaanb/gen-shell:latest . +docker run -it -e CMD= armaanb/gen-shell +``` +## License +Following suit from tasksh, gen-shell is MIT licensed by Armaan Bhojwani, 2020. Gen-shell is forked from tasksh, from which its codebase has been greatly reduced, although the majority of code remaining was written by the tasksh developers [(listed here)](https://github.com/GothenburgBitFactory/taskshell/blob/master/AUTHORS). + +Gen-shell uses [Sarge](https://github.com/MayaPosch/Sarge) for parsing command-line arguments. Sarge was written by Maya Posch and is BSD 3-Clause licensed