如何创建Linux脚本,在Linux中创建脚本如何运行?
先创建一个脚本文件run.sh
:
1 | touch run.sh |
输入内容:
1 |
|
sh/bash执行Bash脚本
1 | [sogrey@bogon 文档]$ sh run.sh |
chmod命令设置可执行权限
1 | [sogrey@bogon 文档]$ chmod +x ./run.sh |
shc打包二进制文件
gzexe加密
gzexe命令即可隐藏shell源码,这个命令是系统自带的gzexe程序。在运用中, gzexe script.sh会把原来没有加密的文件备份为 script.sh~ ,同时 script.sh 即被变成加密文件。 gzexe -d script.sh会解密还原脚本,所以只能够满足一般的加密用途。
1 | [sogrey@bogon 文档]$ gzexe run.sh # 加密 |
shc打包二进制文件
在源中搜索软件:apt-cache search shc
,显示shc为Shell script compiler,然后安装 apt-get install shc
,安装后程序放置于/usr/bin/shc。
shc把shell脚本封装为一个可执行的二进制文件,shc -h
查看使用方法。
shc -v -r -f run.sh
打包成run.sh.x
二进制文件,同时生成run.sh.x.c
文件,这个为C语言文件。猜想这个工具是将shell脚本转为C语言,然后在打包成二进制文件。
如果打包不成功的话,shc -h
最下面有environment环境要求,要在保证满足。
shc的反编译UnSHc
github上克隆:git clone https://github.com/yanncam/UnSHc.git
,文件夹lastest中有个脚本unshc.sh
可以完成反编译功能。
./unshc.sh -h
查看使用方法,笔者使用sample里面的例程测试可以。但是笔者觉得这个工具意义不大,除非知道二级制文件是使用shc来编译的,不然反编译出来也不成功。反编译UnSHc对于开发人员来说作用不大。