gpt4 book ai didi

linux - 将 shell 脚本和 zip 文件组合成一个可执行文件以进行部署

转载 作者:太空狗 更新时间:2023-10-29 11:25:41 30 4
gpt4 key购买 nike

我有两个部署文件,

1) deploymentpackage.zip -> 它包含带有少量shell脚本的数据库包。

2) deployment.sh -> 它是主要的 shell 脚本,首先解压 deploymentpackage.zip,然后执行其中的 shell 文件列表。

它按预期工作。

但我需要的是,我需要将 zip 文件制作为可执行文件,这样我就不想将 deploymentpackage.zipdeployment.sh 都交付给客户端。

那么是否有可能使 deploymentpackage.zip 成为可执行文件,这样我就不想拥有另一个脚本 deployment.sh。

预期:运行此 deploymentpackage.zip 应该解压缩同一文件并运行其中的脚本列表。

最佳答案

如果可以假设将运行脚本的用户具有unzip 实用程序,那么您可以创建如下脚本:

#!/usr/bin/env bash

# commands that you need to do ...
# ...

unzip <(tail -n +$((LINENO + 2)) "$0")
exit

确保脚本在 exit 行的末尾有一个换行符 \n。并且,重要的是脚本的最后一行是 exit 命令,并且带有 tailunzip 命令就在它的前面.

然后,您可以将压缩内容附加到此文件,例如:

cat file.zip >> installer.sh

用户将能够运行 installer.sh,它将解压缩文件末尾的压缩内容。

关于linux - 将 shell 脚本和 zip 文件组合成一个可执行文件以进行部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49351437/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com