前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Linux基础 | shell脚本编译成二进制可执行文件

Linux基础 | shell脚本编译成二进制可执行文件

原创
作者头像
凡人学运维
发布于 2022-06-10 12:12:22
发布于 2022-06-10 12:12:22
4.6K00
代码可运行
举报
运行总次数:0
代码可运行

1、安装编译软件,编译后生成shc文件就是命令程序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yum install glibc-devel gcc c++ -y
cd /usr/src
wget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgz
tar xzf shc-3.8.9.tgz
cd shc-3.8.9/
make

查看帮助手册

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost shc-3.8.9]# ./shc -help
shc Version 3.8.9, Generic Script Compiler
shc Copyright (c) 1994-2012 Francisco Rosales <frosal@fi.upm.es>
shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-rvDTCAh] -f script

    -e %s  Expiration date in dd/mm/yyyy format [none]
    -m %s  Message to display upon expiration ["Please contact your provider"]
    -f %s  File name of the script to compile
    -i %s  Inline option for the shell interpreter i.e: -e
    -x %s  eXec command, as a printf format i.e: exec('%s',@ARGV);
    -l %s  Last shell option i.e: --
    -r     Relax security. Make a redistributable binary
    -v     Verbose compilation
    -D     Switch ON debug exec calls [OFF]
    -T     Allow binary to be traceable [no]
    -C     Display license and exit
    -A     Display abstract and exit
    -h     Display help and exit

    Environment variables used:
    Name    Default  Usage
    CC      cc       C compiler command
    CFLAGS  <none>   C compiler flags

    Please consult the shc(1) man page.

2、编写 test.sh 测试脚本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost shc-3.8.9]# cat /root/test.sh
#!/bin/bash
echo 'Hello Test!'

3、编译脚本,生成可执行文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost shc-3.8.9]# ./shc -v -r -T -f /root/test.sh
shc shll=bash
shc [-i]=-c
shc [-x]=exec '%s' "$@"
shc [-l]=
shc opts=
shc: cc  /root/test.sh.x.c -o /root/test.sh.x
shc: strip /root/test.sh.x
shc: chmod go-r /root/test.sh.x

4、编译后生成的 /root/test.sh.x 文件就是可执行文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@localhost shc-3.8.9]# /root/test.sh.x
Hello Test!

END

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
shell脚本文件加密
生产上,有些场景下(例如一次性的归档数据等)可能需要在脚本里面声明账号密码之类的敏感信息。 可以使用python、valut等更强大的加密方法,但是对于一些临时性的工作,有时候有种杀鸡用牛刀的感觉。
保持热爱奔赴山海
2022/09/23
1.6K0
Linux下Shell加密-shc脚本加密
今天在LInux了接触到一个命令:“shc”,以前还真没遇到过,这个也不是内置的 ,不过挺有意思的 记录一下
pooky
2021/01/06
4.6K0
Linux 将Shell脚本转换为C
默认的shell脚本是不能够加密的,放出来的都是源代码,如果需要对代码进行加密操作,那么可以使用如下工具试试。
王 瑞
2022/12/28
1.5K0
Linux下创建可执行bin安装文件
1、简化操作。一般的软件安装过程,如果想要精简步骤,我们一般会将需要在命令行中输入的命令写成一个脚本,同时将安装介质准备好。我们将脚本和安装介质上传到生产环境,然后通过执行脚本来完成安装。如果能够将这两个文件合并为一个可执行文件,那安装的过程就更简单明了。
大江小浪
2018/07/24
9.6K0
Linux下创建可执行bin安装文件
shell脚本加密 | shc
场景 有时候我们写的shell脚本不便暴露里面的信息,或许此时我们或想到将不便暴露的信息以参数等方式传进去,还有一种方法:将shell脚本加密即可! 那么该如何将shell脚本加密呢?使用shc~ ---- shc是什么 shc是一个脚本编译工具, 使用RC4加密算法, 它能够把shell程序转换成二进制可执行文件(支持静态链接和动态链接)。 ---- 安装shc sudo add-apt-repository ppa:neurobin/ppa sudo apt-get update sudo apt
AlicFeng
2018/06/08
2.8K0
Shell脚本加密与解密
我们写的shell脚本里面通常会包含帐号密码等信息或者你不想让别人看到的信息,那么把写好的shell脚本进行简单的加密显得有些必要了。 常用的shell加密方法有两种,一种是通过gzexe加密,另一种是通过shc加密。 我们先给一个简单的脚本,然后用它来进行加密解密演示,脚本abc.sh内容如下 1 2 #!/bin/bash echo "hello world!" gzexe加密与解密shell脚本 (tips:绿色为输出内容) 1 2 3 4 5 6 7 8 9 bash abc.sh       
神无月
2018/07/13
14.6K0
Linux Shell脚本编程提高
Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核,不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序.Shel编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果,下面我们会介绍Shell-Script的编写.
王 瑞
2022/12/28
3.4K0
Linux Shell脚本编程提高
内核级木马与病毒攻防:Linux可执行文件的ELF格式描述
要想在Linux系统上实现逆向工程,分析,设计或查杀病毒和恶意代码,你不得不深入掌握其可执行文件的ELF格式,这样你才能了解进程在内存空间的布局和运行的基本规律,这样你才能有针对性的设计有效的病毒或恶意代码入侵系统。
望月从良
2020/07/22
1.7K0
内核级木马与病毒攻防:Linux可执行文件的ELF格式描述
4 Linux 高级Shell脚本与用户管理
本文,我们将要学习 Linux 高级 Shell 脚本以及用户管理(重点)。下面,我们将开始探索几个使用的 Shell 脚本,然后介绍 Linux 中的用户管理。
Lemon黄
2023/11/28
3580
4 Linux 高级Shell脚本与用户管理
linux下的sqlite3的编译安装和
sqlite是嵌入式SQL数据库引擎SQLite(SQLite Embeddable SQL Database Engine)的一个扩展。 SQLite是一个实现嵌入式SQL数据库引擎小型C语言库(C library),实现了独立的,可嵌入的,零配置的SQL数据库引擎。 特性包括:事务操作是原子,一致,孤立,并且持久的,即使在系统崩溃和电源故障之后。零配置——不需要安装和管理。 实现了绝大多数SQL92标准。整个数据库存储在一个单一的文件中。数据库文件可以在不同字节序的机器之间自由地共享。 支持最大可达2T的数据库。字符串和BLOB类型的大小只受限于可用内存。完整配置的少于250KB,忽略一些可选特性的少于150KB。 在大多数常见操作上比流行的客户/服务器数据库引擎更快。 简单易于使用的API。 内建TCL绑定。 另外提供可用于许多其他语言的绑定。具有良好注释的源代码,代码95%有较好的注释。 独立:没有外部依赖。源代码位于公共域,可用于任何用途。 用 SQLite连接的程序可以使用SQL数据库,但不需要运行一个单独的关系型数据库管理系统进程(separate RDBMS process)。 SQLite不是一个用于连接到大型数据库服务器(big database server)的客户端库(client library), 而是非常适合桌面程序和小型网站的数据库服务器。SQLite直接读写(reads and writes directly)在硬盘上的数据库文件。
py3study
2020/01/09
4.5K0
python 脚本生成为可执行文件
你会发现dist下面只有一个可执行文件,这个单文件就可以发布了,可以运行在你正在使用的操作系统类似的系统的下面。
Devops海洋的渔夫
2019/05/30
1.4K0
Linux学习–>如何通过Shell脚本实现发送邮件通知功能?
#1、安装和配置sendmail 不需要注册公网域名和MX记录(不需要架设公网邮件服务器),通过Linux系统自带的mail命令即可对公网邮箱发送邮件。不过mail命令是依赖sendmail的,所以我们需要先检查安装和配置sendmail。
全栈程序员站长
2022/11/01
3.3K0
Linux Shell 脚本编程基础
Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核,不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序.Shel编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果,下面我们会介绍Shell-Script的编写.
王 瑞
2022/12/28
2.1K0
Linux Shell 脚本编程基础
shell脚本快速入门之-----循环(for、while、until)
若指定用户不在线(未登陆系统),则每10分钟(实验中为了测试效果,可改为3s)试一次,直至用户登录系统后再发送信息 用户名与消息通过为止参数传递给脚本
不吃小白菜
2020/09/03
1.2K0
shell脚本快速入门之-----循环(for、while、until)
学习笔记0618----shell脚本(二)
格式:函数必须要放在最前面,function 后是函数的名字,并且 function 这个单词是可以省略掉的,花括号{} 里面为具体的命令
嘻哈记
2020/11/24
1.7K0
mysql二进制安装与mysql密码破解
1、二进制格式mysql安装 1.1 下载二进制格式的mysql软件包(以5.7版本为例) [root@localhost ~]# cd /usr/src/ [root@localhost src]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.38-linux-glibc2.12-x86_64.tar.gz 1.2 解压软件包至/usr/local/ [root@localhost src]# tar -xf mysq
Alone-林
2022/08/20
1.3K0
[Go] Windows/Linux/Mac交叉编译成指定系统的二进制可执行文件
一般我们在windows获取mac开发代码 , 编译的时候如果要编译成指定系统的二进制文件 , 这时就需要使用交叉编译
唯一Chat
2021/04/20
7K0
将 Docker 镜像编译成独立可移植二进制文件
Dockerc 它是一个容器镜像编译器,可以将Docker容器镜像编译成独立的可移植二进制文件。这意味着用户不再需要使用docker run命令来运行容器,也不需要使用pip install或npm i来安装软件包,而是可以直接运行编译后的可执行文件。
Tinywan
2024/05/11
1.1K0
将 Docker 镜像编译成独立可移植二进制文件
101个shell脚本
emm。。这个脚本是因为tomcat没有自带的能够给service开机启动的脚本,我就琢磨着自己写了一个简单的启动脚本,如下:
端碗吹水
2020/09/23
1.4K0
101个shell脚本
shell脚本中各种括号的区别以及用法
最近学到了shell脚本编程,觉得脚本中的不同括号有不同的用处,以及有些括号的格式也有特殊要求,下面我就总结一下各种括号的用法。
用户4877748
2020/07/22
3.9K0
相关推荐
shell脚本文件加密
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验