DaLazySlackers / sh2exe

Created a month ago
Maintained by charadon
A script that turns a POSIX shell script into a executable on Windows.  |  https://sh2exe.iotib.net
Members 1
Charadon committed a month ago
 _____   _    _   ___    ______  __   __  ______
/ ____| | |  | | |__ \  |  ____| \ \ / / |  ____|
| (___  | |__| |    ) | | |__     \ V /  | |__
\___ \  |  __  |   / /  |  __|     > <   |  __|
____) | | |  | |  / /_  | |____   / . \  | |____
|_____/ |_|  |_| |____| |______| /_/ \_\ |______| v2
================================================================================
WHAT IS IT?
-------------
sh2exe is a script that turns POSIX Shell scripts into Windows executables,
therefore allowing you to distribute a Shell Script on Windows without needing
a full Git for Bash or Cygwin environment installed somewhere.

It currently bundles:
- GNU Coreutils
- GNU Less
- GNU Awk
- GNU Grep
- GNU Nano
- GNU Bash (Used if shebang is #!/bin/bash)
- GNU Sed
- GNU tar
- GNU cpio
- gzip
- xz
- bzip2
- zip
- unzip
- 7z
- MirBSD Korn Shell (Used if shebang is #!/bin/sh)
This should give you a roughly complete POSIX Shell experience.

Currently, the executable comes out at around 6MB, which is pretty small on
modern storage devices!

USE CASES
-------------
This script can help you, if you need to distribute a script (say, to launch
a game your making *cough*) without needing to make a script *solely* for
Windows. Just turn it into an executable, and presto! You got a script that
runs!

REQUIREMENTS
-------------
You must run this script in an MSYS2 environment. However, once the executable
has been generated, you will *not* need MSYS2 installed to run it.

USAGE
-------------
Simply run sh2exe.sh with the path to the script you want to convert.
Example: ./sh2exe.sh -s /path/to/script.sh -w /path/to/workdir

You can run it on the included helloworld.sh script to see it in action!

Which shell is used in the runtime depends on the shebang of the script. Here's
a table:

#!/bin/sh   = MirBSD Korn Shell used.
#!/bin/bash = GNU Bash used.

For more info, run ./sh2exe.sh -h

COPYRIGHT
-------------
The sh2exe.sh script itself is licensed under Apache 2.0, however the source
code template (runsh.c) is licensed under the GNU All-Permissive License,
meaning you can do whatever you want with the generated executable.

SUPPORT ME
-------------
If you like this program, consider giving some dollary doos at
https://liberapay.com/Charadon