Where –f is your script as a file
Then under your script’s directory which is f /root/Downloads you will see newly create .sh.x and .sh.x.c files.
[root@pvmove shc-3.8.7]# ll /root/Downloads/
-rwxr-xr-x. 1 root root 16568 Aug 25 16:53 find_script.sh
-rwx--x--x. 1 root root 32056 Aug 25 17:15 find_script.sh.x
-rw-r--r--. 1 root root 96527 Aug 25 17:15 find_script.sh.x.c
.sh.x is the encrypted shell script in binary format
.sh.x.c is the C source code of the random.sh file. The logic behind it is shc converts shell script to a C program find_script.sh.x.c has been generated. Then C file is compiled, find_script.sh.x executable is created.
As you see, find_script.sh.x is henceforth a 64 bit executable.
[root@pvmove shc-3.8.7]# file /root/Downloads/find_script.sh.x
/root/Downloads/find_script.sh.x: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
[root@pvmove shc-3.8.7]# file /root/Downloads/find_script.sh
/root/Downloads/find_script.sh: Bourne-Again shell script text executable
-e : specify expiration date. If used, a message will be printed while executing the script.
./script.sh.x: has expired!
Please contact your provider
-m option is for message. While printing a warning message you can print whatever you want.
-T option will allow the created binary files to be traceable using programs like strace, ltrace, etc.
-v is for verbose.