如何从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.sh10 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脚本相同的结果。