相关疑难解决方法(0)

如果任何命令返回非零值,则中止shell脚本?

我有一个调用许多命令的Bash shell脚本.如果任何命令返回非零值,我希望shell脚本自动退出,返回值为1.

如果没有明确检查每个命令的结果,这可能吗?

例如

dosomething1
if [[ $? -ne 0 ]]; then
    exit 1
fi

dosomething2
if [[ $? -ne 0 ]]; then
    exit 1
fi
Run Code Online (Sandbox Code Playgroud)

unix linux bash shell

405
推荐指数
8
解决办法
18万
查看次数

jenkins继续部署过程,尽管NPM无法安装模块

我在jenkins中设置了一个部署过程,该过程首先将整个JavaScript应用程序本地安装在jenkins服务器上,开始进行测试/构建应用程序,然后将所有内容复制到暂存机上。

昨天我注意到我的package.json中有一个错字,npm无法安装更新的模块,因此引发了警告。

Jenkins似乎已经注意到了该问题,并将构建标记为UNSTABLE,但仍继续进行部署(使用ssh-copy插件的构建后任务)。

NPM无法安装模块时,有没有办法停止构建过程?

node.js jenkins

2
推荐指数
1
解决办法
1887
查看次数

Bash 脚本仍在继续,即使我希望它早点退出

一段时间对此感到困惑,这里是一个代表问题的精炼脚本:

#start    
# note that master does not exist, so this should fail, would like to exit on the next line
git branch -D master || (echo "no master branch" && exit 1);
git fetch origin &&
git checkout master &&

BRANCH=$(git rev-parse --abbrev-ref HEAD)
if [[ "$BRANCH" != "master" ]]; then
  echo 'Aborting script because you are not on the right git branch (master).';
  exit 1;
fi

echo "done"
#end
Run Code Online (Sandbox Code Playgroud)

当我运行上面的脚本时,我得到以下输出:

error: branch 'master' not found.
no master branch …
Run Code Online (Sandbox Code Playgroud)

git bash sh

1
推荐指数
1
解决办法
605
查看次数

标签 统计

bash ×2

git ×1

jenkins ×1

linux ×1

node.js ×1

sh ×1

shell ×1

unix ×1