在Linux系统的工作中,我们使用了许多日常命令。大多数二进制格式提供命令都位于 /bin,/sbin, /usr/bin,/usr/sbin 等目录。作为系统管理员,我们写了很多shell脚本做几个任务或自动化他们。本文将帮助您创建您的shell脚本的二进制文件,所以没有人能看到你的脚本的源代码,我们可以把它们作为一个命令。要创建从脚本二进制文件,我们使用SHC编译器 。
按照下面的步骤来做到这一点。
安装所需的程序包
首先,我们需要安装所需的软件包SHC编译器。
在Ubuntu,Debian和LinuxMint中
$ apt-get install libc6-dev
在CentOS,RHEL及Fedora中
$ yum install glibc-devel
下载并安装SHC:
从它的官方网页下载SHC编译器的最新的源代码,或者使用下面的命令,并提取您的系统上。
$ cd /usr/src $ wget http://~frosal/sources/shc-3.8.9.tgz $ tar xzf shc-3.8.9.tgz
现在编译系统上的SHC的源代码,并使用以下命令进行安装。
$ cd shc-3.8.9 $ make $ make install
创建Shell脚本:
让我们创建一个shell脚本,按您的要求或跳过这一步,如果你已经创建。在这篇文章中,我们已经低于上添加命令行参数给出的整数并显示它们的总和示例脚本创建的。
vim script.sh
#!/bin/bash total=0 for i in $@; do if [ ! -z "${i##[0-9]*}" ]; then echo "Please enter numeric only" exit 1 fi total=$(($total + $i)) done if [ $total -eq 0 ]; then echo "Plesae execute script like: $0 10 20 30" exit 0 fi echo $total
创建脚本的二进制:
在这个阶段,我们已经安装了SHC编译器和有一个名为script.sh shell脚本。使用下面的命令来创建脚本的二进制文件。
$ shc -T -f script.sh
上面的命令将创建在当前目录下的两个文件。一会script.sh.xc这是在脚本的C语言格式。第二个将script.sh.x这将是二进制格式。
测试脚本二进制:
如果你试图打开脚本的二进制格式,你会看到,它不是人类可读的格式。
现在移动/usr/bin目录下的这个脚本从任何地方在系统中使用。另外从文件名称中删除 .sh.x。所以这将是可用简单的名称。还设置了执行权限给大家
$ mv script.sh.x /usr/bin/script $ chmod +x /usr/bin/script
现在从系统的任意位置键入命令“script”。你会看到同样的结果作为你的shell脚本。
$ script 10 20 30 60