如何在Ubuntu 14中编写脚本自动安装makeself 2.1.5版本?
自动安装makeself 2.1.5的Bash脚本
这里有一个可以一键完成makeself 2.1.5版本自动安装的bash脚本,我已经考虑了权限检查、依赖验证、错误处理这些细节,你可以直接保存为install_makeself_2.1.5.sh,然后赋予执行权限后运行:
#!/bin/bash # 定义变量:makeself包的文件名和下载地址 PACKAGE_NAME="makeself_2.1.5-1_all.deb" DOWNLOAD_URL="https://launchpad.net/ubuntu/trusty/amd64/makeself/2.1.5-1/+files/${PACKAGE_NAME}" # 检查是否具备sudo权限 if ! sudo -v >/dev/null 2>&1; then echo "错误:需要管理员权限执行安装,请确保你拥有sudo权限后重试。" exit 1 fi # 检查并安装wget(用于下载安装包) if ! command -v wget &> /dev/null; then echo "未检测到wget工具,正在自动安装..." sudo apt update && sudo apt install -y wget if [ $? -ne 0 ]; then echo "错误:无法自动安装wget,请手动安装后再运行脚本。" exit 1 fi fi # 切换到临时目录操作,避免污染工作目录 cd /tmp || { echo "错误:无法进入临时目录"; exit 1; } # 下载makeself安装包 echo "正在下载makeself 2.1.5安装包..." wget --quiet --show-progress "$DOWNLOAD_URL" if [ $? -ne 0 ]; then echo "错误:安装包下载失败,请检查网络连接或地址有效性。" exit 1 fi # 执行安装,并处理可能的依赖问题 echo "开始安装makeself 2.1.5..." sudo dpkg -i "$PACKAGE_NAME" if [ $? -ne 0 ]; then echo "警告:dpkg安装出现依赖问题,尝试自动修复..." sudo apt --fix-broken install -y # 修复后再次尝试安装 sudo dpkg -i "$PACKAGE_NAME" if [ $? -ne 0 ]; then echo "错误:安装失败,请手动排查问题。" rm -f "$PACKAGE_NAME" exit 1 fi fi # 验证安装结果 if command -v makeself &> /dev/null; then INSTALLED_VERSION=$(makeself --version | awk '{print $3}') if [ "$INSTALLED_VERSION" = "2.1.5" ]; then echo "✅ makeself 2.1.5安装成功!" else echo "⚠️ 安装完成,但检测到版本不匹配,当前版本:$INSTALLED_VERSION" fi else echo "⚠️ 安装后未检测到makeself命令,请检查安装是否成功。" fi # 清理临时下载的安装包 rm -f "$PACKAGE_NAME" exit 0
使用步骤:
- 将上述内容保存为
install_makeself_2.1.5.sh - 赋予执行权限:
chmod +x install_makeself_2.1.5.sh - 运行脚本:
./install_makeself_2.1.5.sh
脚本细节说明:
- 权限校验:提前确认sudo权限,避免安装到一半因权限不足中断
- 依赖自动处理:如果系统没有wget,会自动通过apt安装,确保下载流程正常
- 临时目录操作:所有下载和安装操作都在/tmp目录完成,不会污染你的工作目录
- 容错机制:安装时若出现dpkg依赖问题,会自动尝试修复,减少手动干预
- 结果验证:安装完成后会检查版本是否符合预期,并自动清理临时文件
内容的提问来源于stack exchange,提问作者VFbvb
相关产品推荐
相关产品推荐

