Sign up ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

I want to convert my shell scripts into binary executable so that nobody else could edit or read it. Is there a way to convert it into a binary executable?

share|improve this question
Don't do it! –  l0b0 Feb 14 '13 at 11:23 –  Jahid Apr 1 at 10:56

1 Answer 1

up vote 23 down vote accepted

shc is what you're looking for. get it here: shc
Extract, cd into dir, make and then ./shc -f SCRIPT. Done.

Everything you need to do this, you find here:
SHC Howto

share|improve this answer
+1 wow, that is interesting. Just beware that if the process is exactly as it is described, this is a weak method of concealing a password -- it could still be extracted by someone who knows how executables are structured. However, it would be very effective for obscuring a script from casual observers. I'd be interested to learn if scripts pre-compiled this way are faster to execute. –  goldilocks Feb 14 '13 at 6:48
Note that it doesn't work with bash (or sh based on bash), as one can do: env SHELLOPTS=verbose ./script.x to see the content of the script. There's probably easy ways to bypass with other shells as well. –  Stéphane Chazelas Feb 14 '13 at 11:14
From the shc man page, "Unfortunatelly, it will not give you any speed improvement as a real C program would." –  Adam Feb 14 '13 at 19:35
shc has been updated to 3.9.0: –  Jahid Apr 1 at 10:53
Although SHC might not give you a speed improvement you hope for, it offers the possibility of hacking SHC itself to obtain a better translation of your script. Writing a clean shell script and then improving SHC could be more productive than writing a C program from scratch, or convoluting a shell script to make it faster. –  Kaz Jun 30 at 19:06

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.