首页 > 其他分享 >pipeline 解析

pipeline 解析

时间:2023-05-01 12:00:13浏览次数:39  
标签:执行 pipeline set 命令 管道 出现异常 解析 Bash

shell 参数

set -e (脚本出现异常时马上退出)

set -e 选项可以让你的脚本在出现异常时马上退出,后续命令不再执行。默认情况下Shell脚本不会因为错误而结束执行,但大多数情况是,我们希望出现异常时就不要再往下走了。假如你的if判断条件里会出现异常,这时脚本也会直接退出,但可能这并不是你期望的情况,这时你可以在判断语句后加上 || true 来阻止退出。

set -o pipefail (管道中的命令有一个失败则视为失败)

默认情况下Bash只会检查管道(pipeline)操作最后一个命令的返回值,假如最右边的命令成功那么它就认为这个语句没问题。这个行为其实是很不安全的,所以就有了set -o pipefail。这个特别的选项表示在管道连接的命令中,只要有任何一个命令失败(返回值非0),则整个管道操作被视为失败。只有管道中所有命令都成功执行了这个管道才算成功执行。

set -u (未定义的变量视为错误)

set -u 比较容易理解,Bash会把所有未定义的变量视为错误。 默认情况下Bash会将未定义的变量视为空,不会报错,这也是很多坑的来源。也许由于变量名的细微差别让你查半天最后骂骂咧咧。

set -x (执行前打印)

set -x 可以让Bash把每个命令在执行前先打印出来,你可以认为这就是Bash的Debug开关。它的好处当然显而易见,方便你快速找到有问题的脚本位置,但是也坏处也有吧,就是Bash的log会格外的乱。另外,它在打印命令前会把变量先解析出来,所以你可以知道当前执行的语句的变量值是什么。

标签:执行,pipeline,set,命令,管道,出现异常,解析,Bash
From: https://www.cnblogs.com/swfxll/p/17366310.html

相关文章

  • 一道Python初学者常犯错误解析
    1.引言在Python学习中,经常会遇到各种各样的代码错误,尤其对于初学者而言,明明觉得逻辑上是对的,但是代码运行起来,往往不是自己想要的结果。本文就最近在某平台看到的一个常见错误进行展开,帮助大家更好的理解Python的基础语法,,闲话少说,我们直接开始吧!2.问题描述首先,我们来检查以下代码......
  • 用excel函数解析身份证中的出生年月
      首先我们观察上图,第二代身份证包括18位,其中7到14位代表这位公民的出生年月日,我们可以利用left()、right()函数嵌套使用获取出生年月。方法一:先获取身份证字符串右侧的12位,再从获取的字符串中获取左侧8位;=LEFT(RIGHT(C2,12),8) 方法二:先获取身份证字符串左侧的14位,再......
  • JSP 的本质原理解析:"编写的时候是JSP,心里想解读的是 java 源码"
    JSP的本质原理解析:"编写的时候是JSP,心里想解读的是java源码"@目录JSP的本质原理解析:"编写的时候是JSP,心里想解读的是java源码"每博一文案1.JSP概述2.第一个JSP程序3.JSP的本质就是Servlet4.JSP的基础语法4.1在JSP文件中直接编写文字4.2在JSP中编写Java程序......
  • koa-compose 源码解析
    Koa-Compose函数解析1'usestrict'23/**4*Exposecompositor.5*/67module.exports=compose89/**10*Compose`middleware`returning11*afullyvalidmiddlewarecomprised12*ofallthosewhicharepassed.13*14......
  • koa-cors 源码及基本原理解析
    cors: 跨域资源共享(Cross-OriginResourceSharing)是一种机制,用来允许不同源服务器上的指定资源可以被特定的Web应用访问。在koa项目中使用cors中间件:eg:1varkoa=require('koa');2varroute=require('koa-route');3varcors=require('koa-cors');4varapp......
  • Golang程序无法在Termux访问网络(DNS解析问题)
    原文:https://github.com/termux/termux-app/issues/869#issuecomment-433985523pkginstallprootresolv-confproot-b$PREFIX/etc/resolv.conf:/etc/resolv.conf./Go可执行程序或者交叉编译Android版解决此问题:https://www.cnblogs.com/jing332/p/16671425.html......
  • CS231N assignment 3 _ GAN 学习笔记 & 解析
    这篇文章之所以来的比较早,是因为我们机器人比赛字符识别数据集不够,想自己造点数据集其实课程内容总结所谓GAN,原理很简单,我们有一个生成器网络和鉴别器网络,生成器生成假的数据,鉴别器分辨真假,二者知己知彼互相优化自己,从而达到博弈的效果.实际操作中,我们一般是......
  • 测试博客园的Markdown编辑器的支持语法和解析结果
    @目录欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学......
  • python+playwright 学习-58 Jenkins上使用 Pipeline 运行 playwright 自动化脚本
    前言Dockerfile.focal可用于在Docker环境中运行Playwright脚本。这些镜像包括在Docker容器中运行浏览器所需的所有依赖项,还包括浏览器本身。playwright在linux系统上目前只支持Ubuntu系统的部分版本,centos和debian系统上是没法运行的。jenkins环境准备需安装2个跟docke......
  • np.transpose功能解析
    #代码1和代码2得到的结果是一样的,功能一致#features:(8325,62,5)#代码1feat_array_temp=np.transpose(features,(2,0,1))#5,8325,62ndarray#代码2feat_array_temp2=[]foriinrange(5):feat_array_temp2.append(features[:,:,i])feat_array_te......