如何从Shell脚本创建可执行脚本

时间:2019-05-19 01:25:47  来源:igfitidea点击:

在使用Linux系统时,我们每天使用许多命令。
大多数命令以二进制格式存在于/bin、/sbin、/usr/bin、/usr/sbin等目录中。
作为一个系统管理员或学生,我们编写了许多shell脚本来完成一些任务或使它们自动化。
本文将创建shell脚本的二进制文件,这样就没有人可以看到脚本的源代码,而我们可以将它们用作命令。
要从脚本创建二进制文件,我们使用由Francisco Javier Rosales Garcia编写的SHC编译器。
按照下面的步骤进行操作。

第1步-准备工作

首先,我们需要为SHC编译器安装所需的包。
适用于Ubuntu、Debian和LinuxMint

sudo apt-get install libc6-dev

用于CentOS, RHEL & Fedora

sudo yum install glibc-devel

第2步-下载并安装SHC

从其官方网页下载最新的SHC编译器源代码,或使用以下命令和提取在系统。

cd /usr/src
wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz
sudo tar xzf shc-3.8.9.tgz

现在在系统上编译SHC源代码并使用以下命令安装它。

cd shc-3.8.9
make
make install

步骤3 -创建Shell脚本

让我们根据需求创建一个shell脚本,或者跳过这个步骤(如果我们已经创建了)。
对于本文,我们创建了下面的示例脚本,它添加命令行参数上给定的整数值,并显示它们的总和。

vim script.sh

#!/bin/bash

total=0

for i in Hyman@theitroad; do
   if [ ! -z "${i##[0-9]*}" ]; then
	echo "请输入数字"
	exit 1
   fi
   total=$(($total + $i))
done

if [ $total -eq 0 ]; then
    echo "请这样执行脚本: 
shc -T -f script.sh

10 20 30" exit 0 fi echo $total

步骤4 -创建可执行文件的脚本

在这个阶段,我们已经安装了SHC编译器,并且有一个名为script.sh的shell脚本。
使用以下命令创建脚本的二进制文件。

mv script.sh.x /usr/bin/script
chmod +x /usr/bin/script

上面的命令将在当前目录中创建两个文件。
一个是 script.sh.x.c 这是C语言格式的脚本。
第二个是script.sh.x, 将是二进制格式。

步骤5 -测试二进制脚本:

如果尝试打开脚本的二进制格式,就会发现它不是人类可读的格式。
现在将该脚本从系统中的任何位置移动到/usr/bin目录下使用。
同时删掉名字中的.sh.x
因此它将以简单的名称可用。
还要为所有人设置执行权限

script 10 20 30

60

现在在系统的任何地方输入命令' script '。
我们将看到与shell脚本相同的结果。

##代码##