]> git.armaanb.net Git - gen-shell.git/blob - README.md
further reduction
[gen-shell.git] / README.md
1 # gen-shell
2 ![Jenkins](https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fbuild.bhojwani.org%2Fjob%2Fgen-shell%2F)  
3 === WORK IN PROGRESS ===  
4 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.
5
6 ## Usage
7 Just put the command that you want to repeat as the argument
8
9 ## Installation
10 ### Binaries
11 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 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.
12
13 ### From source
14 If you would like to avoid this, you can build from source. Doing so requires:
15   - cmake (2.8 or higher)
16   - make
17   - gcc
18   - g++ (sometimes packaged as gcc-c++ or gcc-g++)
19   - cpp (11 or higher)
20   - libreadline development files (7 or 8 is fine, 5 is untested)
21 ```bash
22 git clone https://codeberg.org/armaan/gen-shell
23 cd gen-shell
24 cmake .
25 make
26 sudo cp src/gen-shell /usr/bin/
27 ```
28 Or if you don't have root access, you can subsitute the last line with
29 `cp src/gen-shell ~/.local/bin`
30
31 ### Docker
32 You can also run gen-shell in docker. Simply use
33 ```bash
34 docker run -it -e CMD=<command-to-run> armaanb/gen-shell:latest
35 ```
36 Or to build the docker container locally
37 ```bash
38 git clone https://codeberg.org/armaan/gen-shell
39 cd gen-shell
40 docker build -t armaanb/gen-shell:latest .
41 docker run -it -e CMD=<command-to-run> armaanb/gen-shell
42 ```
43 ## License
44 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).