欢迎关注我收藏下次不迷路┗|O′|┛ 嗷~~热门内容python使用案例与应用_安城安的博客-CSDN博客软硬件教学_安城安的博客-CSDN博客Orbslam3Vinsfusion_安城安的博客-CSDN博客网络安全_安城安的博客-CSDN博客教程_安城安的博客-CSDN博客python办公自动化_安城安的博客-CSDN博客新书购买《Python实用小工具开发教程》http://www.pythontoolsteach.com/3目录代码简介完整代码bash 脚本逐行解析整体脚本功能总结代码简介这是一段 bash 编译打包脚本先指定 bash 为解释器定义服务名称为 hertz_service创建 output/bin 输出目录将 script 目录下的文件复制到 output 目录并屏蔽复制时的错误提示给 output 下的 bootstrap.sh 赋予可执行权限最后用 go build 编译代码把生成的 hertz_service 可执行程序输出到 output/bin 目录完成项目部署文件的整理构建。完整代码#!/bin/bash RUN_NAMEhertz_service mkdir -p output/bin cp script/* output 2/dev/null chmod x output/bootstrap.sh go build -o output/bin/${RUN_NAME}bash 脚本逐行解析#!/bin/bash第 1 行脚本解释器声明shebang告诉操作系统这个脚本要用/bin/bash解释器来执行而不是 sh 或者其他 shell。写在脚本第一行。RUN_NAMEhertz_service第 2 行定义 shell 变量RUN_NAME是变量名值为hertz_service。后面${RUN_NAME}就会替换成hertz_service代表我们要编译出来的程序名字。 注意等号两边不能有空格。mkdir -p output/bin第 3 行创建目录mkdir创建文件夹-p参数如果目录已经存在不会报错并且会自动创建多层父目录。 作用创建output文件夹并且在里面创建bin子文件夹。最终目录结构output/bin/。cp script/* output 2/dev/null第 4 行复制文件cp script/* output把script目录下所有文件复制到output目录里面。2/dev/null把错误输出丢弃。如果 script 文件夹不存在、或者里面没有文件cp 本来会打印报错信息2/dev/null把错误信息扔到空设备屏幕上看不到报错脚本继续往下跑。chmod x output/bootstrap.sh第 5 行增加可执行权限chmod x给文件添加执行权限。 作用让output/bootstrap.sh这个 shell 脚本拥有运行权限后面可以直接执行这个脚本。go build -o output/bin/${RUN_NAME}第 6 行Go 语言编译命令go buildgo 编译源码生成二进制可执行程序。-o output/bin/${RUN_NAME}指定输出文件路径和名字。${RUN_NAME}读取前面定义的变量等价于-o output/bin/hertz_service。 最终编译产物output/bin/hertz_service这是 hertz 框架的服务程序。整体脚本功能总结这是 Hertz Go 项目的编译打包脚本设置服务名准备 output 输出目录拷贝 script 下脚本文件到 output给启动脚本加上执行权限编译 go 代码二进制程序输出到output/bin/hertz_service执行完脚本之后所有发布需要的脚本 二进制程序都在 output 文件夹直接把 output 目录打包就可以部署服务。非常感谢您花时间阅读我的博客希望这些分享能为您带来启发和帮助。期待您的反馈与交流让我们共同成长再次感谢热门内容python使用案例与应用_安城安的博客-CSDN博客软硬件教学_安城安的博客-CSDN博客Orbslam3Vinsfusion_安城安的博客-CSDN博客网络安全_安城安的博客-CSDN博客教程_安城安的博客-CSDN博客python办公自动化_安城安的博客-CSDN博客个人网站安城安的云世界