方案 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'
使用方法:
- 将选择的脚本保存为
deploy.sh - 给脚本执行权限:
chmod +x deploy.sh - 运行脚本:
./deploy.sh
推荐使用方案 3,set -e 会让脚本在任何一个命令失败时立即退出,代码简洁且行为明确。
到此这篇关于linux实现多命令合并执行的四种方案的文章就介绍到这了,更多相关linux多命令合并执行内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论