Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux多命令合并执行

Linux实现多命令合并执行的四种方案

作者:檀越@新空间

这篇文章主要介绍了四种处理脚本退出状态的方法,推荐使用方案3,即使用`set-e`和`trap`,这样可以确保脚本在任何一个命令失败时立即退出,代码简洁且行为明确,需要的朋友可以参考下

方案 1:使用 && 和 || 操作符

cd /Users/test/Documents/workspace/newspace/vitepress-blog

git pull

pnpm install

pnpm run docs:build && {
  lazygit '{query}'
  sshpass -p test. ssh -A -g root@43.139.90.182 'sh startup-blog.sh'
} || {
  echo "构建失败,中止后续操作"
  exit 1
}

方案 2:使用 if 语句检查退出状态

cd /Users/test/Documents/workspace/newspace/vitepress-blog

git pull

pnpm install

# 执行构建并检查结果
if pnpm run docs:build; then
  echo "构建成功,继续执行后续步骤"
  lazygit '{query}'
  sshpass -p test. ssh -A -g root@43.139.90.182 'sh startup-blog.sh'
else
  echo "构建失败,中止后续操作"
  exit 1
fi

方案 3:使用 set -e 和 trap(推荐)

#!/bin/bash
set -e  # 遇到错误立即退出

cd /Users/test/Documents/workspace/newspace/vitepress-blog

git pull

pnpm install

pnpm run docs:build

# 只有构建成功才会执行到这里
lazygit '{query}'

sshpass -p test. ssh -A -g root@43.139.90.182 'sh startup-blog.sh'

方案 4:更健壮的版本

#!/bin/bash

cd /Users/test/Documents/workspace/newspace/vitepress-blog || {
  echo "目录不存在"
  exit 1
}

git pull || {
  echo "git pull 失败"
  exit 1
}

pnpm install || {
  echo "依赖安装失败"
  exit 1
}

pnpm run docs:build || {
  echo "构建失败,中止后续操作"
  exit 1
}

lazygit '{query}'

sshpass -p test. ssh -A -g root@43.139.90.182 'sh startup-blog.sh'

使用方法:

  1. 将选择的脚本保存为 deploy.sh
  2. 给脚本执行权限:chmod +x deploy.sh
  3. 运行脚本:./deploy.sh

推荐使用方案 3set -e 会让脚本在任何一个命令失败时立即退出,代码简洁且行为明确。

到此这篇关于Linux实现多命令合并执行的四种方案的文章就介绍到这了,更多相关Linux多命令合并执行内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文