“if”语句可以在 bitbucket 管道中使用吗?

2024-02-25

我尝试运行以下步骤,但它不执行“if”步骤(第5行和第6行)(我很确定它们应该执行,因为测试的目录不存在,我尝试了多种格式的bash if,但他们都失败了。 有没有一种方法可以测试我正在使用的条件?

   - step:
      name: Google Cloud SDK Installation
      caches:
        - pip
        - cloudsdk
      script:
        - export ENV=dev
        - source scripts/setenv.sh
        - export CLOUDSDK_CORE_DISABLE_PROMPTS=1
        - SDK_FILENAME=google-cloud-sdk-$SDK_VERSION-linux-x86_64.tar.gz
        - if [ ! -e ${HOME}/google-cloud-sdk ] ; then `curl -O -J https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${SDK_FILENAME}`; fi
        - if [ ! -e ${HOME}/google-cloud-sdk ] ; then `tar -zxvf ${SDK_FILENAME} --directory ${HOME}`; fi
        - export PATH=${PATH}:${HOME}/google-cloud-sdk/bin
        - GAE_PYTHONPATH=${HOME}/google_appengine
        - export PYTHONPATH=${PYTHONPATH}:${GAE_PYTHONPATH}
        - python scripts/fetch_gae_sdk.py $(dirname "${GAE_PYTHONPATH}")

基本上,Bb Pipelines 支持条件,无论是使用-e或比较。例如,这些行都可以工作:

script:
  - '[ ! -e "$BITBUCKET_CLONE_DIR/missing.txt" ] && echo "File does not exist"'
  - 'if [ ! -e "$BITBUCKET_CLONE_DIR/missing.txt" ]; then echo "File does not exist"; fi'
  - if [ ! -e "$BITBUCKET_CLONE_DIR/missing.txt" ]; then echo "File does not exist"; fi

如示例所示,对于某些命令,可能需要将行用单引号括起来(此处仅用于演示目的),因此如果 Bb 报告语法错误,您应该尝试一下。

但是:你确定你真的想要吗?$HOME?默认情况下,您处于$BITBUCKET_CLONE_DIR– 不在$HOME–,因此curl调用将SDK下载到$BITBUCKET_CLONE_DIR.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“if”语句可以在 bitbucket 管道中使用吗? 的相关文章

  • 设置 Pyenv 的路径

    我正在尝试在我的服务器中设置 Pyenv 的加载路径 bashrc file 我正在关注这个tutorial https realpython com intro to pyenv 它要求我们在哪里设置pyenv到加载路径 然而 在我的 b
  • 如何使 case 语句匹配数字范围?

    我正在运行一个列号范围为 0 50 的开关案例 现在每个案例都支持离散列号 我观察到它的失败 这是代码 i 10 a 1 b 0 65 if a b then case i in 1 2 5 echo Not OK 9 10 12 echo
  • 此 bash 命令在 Makefile 中未正确运行

    在 Makefile 里面我有这样的 release version poetry version cut f2 d echo release version 如果我运行 我的终端中的语句将毫无问题地运行 gt version poetry
  • 从 TypeScript 运行任何 Linux 终端命令?

    有没有办法直接从 TypeScript 类中执行 Linux 终端命令 这个想法是做类似的事情 let myTerminal new LinuxTerminal let terminalResult myTerminal run sudo
  • 文本处理问题:删除其中一列不包含特定值的行

    我有一个制表符分隔的文件 如下所示 input sequence match sequence score receptor group epitope antigen organism ASRPPGGVNEQF ASRPPGGVNEQF
  • shell_exec 的输出被截断为 100 个字符

    当在 shell 中运行以下命令时 curl F file filename http 192 168 0 1 产生以下输出 Accuracy 0 0 1 classification Accuracy 0 0 1 classificati
  • 在bash中,是否有相当于“错误消息”的东西

    在 perl 中 您可以使用错误消息退出die some msg bash 中是否有等效的单个命令 现在 我正在使用命令来实现这一点 echo some msg exit 1 你可以很容易地自己推出 die echo 1 gt 2 exit
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 如何在 Bitbucket-Pipelines 中保存工件

    我是竹子新手 我尝试做的就是收集所有 dacpac在构建过程中创建的文件 image microsoft dotnet latest pipelines default step script Modify the commands bel
  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • grep 两个分隔符之间的子字符串

    我有很多bash使用的脚本perl内的表达式grep为了提取两个分隔符之间的子字符串 例子 echo BeginMiddleEnd grep oP lt Begin End 问题是 当我将这些脚本移植到运行的平台时busybox 融合的 g
  • 将相对符号链接转换为绝对符号链接

    如何在 bash 中递归地将相对符号链接转换为绝对符号链接 ln sf readlink f link link
  • bash 行长度限制从何而来?

    在运行 Bash 4 4 19 标准安装 的 Solaris 11 上 输入行似乎有 256 个字符的限制 我想了解这个限制从何而来 我浏览了手册页 但没有找到任何解决此问题的内容 仅当未使用 readline 库时才会发生这种情况 在下面
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • 两种情况或 if 哪个更快? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须制作一个 非常 轻的脚本 它将接受用户的选项并调用脚本中的函数来执行一些任务 现在我可以使用 IF 和 CASE 选项 但我想知道两
  • 在 bash 脚本中提取 XML 值 [重复]

    这个问题在这里已经有答案了 我正在尝试从 xml 文档中提取一个值 该文档已作为变量读入我的脚本中 原始变量 data is
  • 使用 sh 运行 bash 脚本

    我有 bash 脚本 它需要 bash 另一个人尝试运行它 sh script name sh 它失败了 因为 sh 是他的发行版中 dash 的符号链接 ls la bin sh lrwxrwxrwx 1 root root 4 Aug
  • bash中的用户名、密码程序

    我有一个程序 要求用户输入用户名和密码 然后将其存储在文本文件中 第一列是用户名 第二列是密码 我需要一个命令 在用户输入用户名和新密码时替换密码 如下我拥有的 bin bash admin menu Register User echo

随机推荐

  • HttpURLConnection conn.getRequestProperty 返回 null

    我正在尝试将一些数据推送到 BED 的 URL MDS CS 当我在代码中设置一些请求标头并提交请求时 提交的请求标头设置为null 这是我的代码 HttpURLConnection conn HttpURLConnection url o
  • 如何实现 D3 比例让孩子继承父母的颜色并带有刻度?

    我有一个 D3 js 树 它对节点和链接应用了不同的颜色 颜色是硬编码的 nodeUpdate select circle attr r 10 style fill function d if d name Top Level return
  • 使用 https 克隆项目 gitlab 时出错

    当我尝试使用 Https 协议克隆我的 Gitlab 项目时遇到问题 使用 git 协议一切正常 错误 Cloning into test fatal https XXXX XXXX XXXX XXXX user name test git
  • javax.xml.stream 包可从多个模块访问:、java.xml

    我有编译错误 The package javax xml stream is accessible from more than one module
  • Perl 5.16 中的 qr 操作

    我正在尝试修复一个非常旧的脚本 该脚本试图找到一个字符串FILE DESC LIMIT在文本文件中并将其更改为其他内容 为此 我当前的脚本在 Perl 5 10 上运行良好 我发现它使用了正则表达式 qr FILE DESC LIMIT d
  • Kivy刷新布局(异步加载)

    我有一个 ListView 其中每个项目都有一个 AsyncImage 和一个标签 加载图像时 它会显示每个项目之间有间隙的布局 Item Item 当第一次交互发生时 发生滚动 布局刷新并且间隙消失 Item Item 我真的很想在图像加
  • 使用准备好的语句时出现“尚未允许属性访问”警告[重复]

    这个问题在这里已经有答案了 我正在尝试使用以下方式创建登录系统AES ENCRYPT 对我的密码进行编码 但我有一些警告xdebug当尝试实现这些代码时 key d0gis SUPER cute sql SELECT FROM users2
  • 在平滑滑块中选择幻灯片时禁用滑动

    我正在使用同步滑块 fullslide 一次一张幻灯片 thumbslide 一次 5 张幻灯片 用作全幻灯片的导航 从拇指幻灯片中选择一张幻灯片时 我希望它变为活动状态without向左或向中心滑动 有办法实现这一点吗 CODE slid
  • 如果在语句修饰符中声明变量,则发出警告

    我刚刚得到以下代码行 my foo bar if cond 我将解决这个问题 因为它当然会导致微妙的错误 https stackoverflow com a 5915308 1733163 是否有 Perl 版本 模块或编译指示在达到此类语
  • 一起部署多个应用程序

    我有两个应用程序配置为使用 capistrano 进行部署 它们单独部署都很好 但我想发布两个应用程序需要一起部署的版本 是否有解决方案可以将多个 capistrano 部署在一起并选择分支 我尝试过 caphub 但它对我不起作用 我明白
  • 从 Eclipse 推送到 Github 时出现“411 Length required”异常

    我正在 Eclipse 中为一个学校项目开发一个 Android 应用程序 并尝试推送到 Github 它工作了一段时间 然后突然开始告诉我 推送期间发生内部异常 http github com 我的用户名 repo name git 41
  • asp.net:response.redirect 不起作用

    我有一个 aspx 表单 其中有一个组合框 其中包含从数据库表检索的主题 提交按钮 单击该按钮可在网格视图中查看与该主题相关的问题 我通过在按钮单击事件中调用函数 FillGrid 来完成此操作 我还为我的 gridview 更改了 pag
  • 依赖于其他 slib 的静态库是否需要它们的实际“代码”才能工作?

    抱歉 问题标题含糊不清 我只是想确定一些事情 静态库不会与其他静态库链接 对吧 因此 当我编写一个 slib A 它使用另一个 B 的功能时 我所需要提供的只是 B 到 A 的标头 而且只有这些标头 即使 A 实际上使用了 B 的功能 是的
  • 后面代码中的计算

    司机服务费用为 30 美元 用户可以选择是否需要该服务 当他们已经选择汽车和租赁日期时 我将其存储在会话中 Session car1 Label1 Text Session price Label5 Text Session day Dro
  • 比较子列表并合并它们

    我有一个包含很多子列表的列表 这些子列表最初是数字对 所以它看起来像 list 2 3 4 5 7 8 8 9 11 12 14 15 15 16 16 17 17 18 18 19 20 21 我想要的是将子列表的最后一个数字与下一个子列
  • 如何使用 Pony ORM 存储 Python 枚举?

    假设我在这里有这个简单的小 Pony ORM 映射 内置 Enum 类是从 Python 3 4 开始新增的 并向后移植到 2 7 from enum import Enum from pony orm import Database Re
  • Jquery Div 点击隐藏

    我在页面中使用 coda 滑块 在这里查看 http www ndoherty com demos coda slider 1 1 1 http www ndoherty com demos coda slider 1 1 1 单击每个选项
  • 使用 Flask 处理大文件上传

    使用 Flask 处理非常大的文件上传 1 GB 的最佳方法是什么 我的应用程序本质上需要多个文件 为它们分配一个唯一的文件编号 然后根据用户选择的位置将其保存在服务器上 我们如何将文件上传作为后台任务运行 以便用户在 1 小时内不会旋转浏
  • MethodImpl 属性在 .NET 中如何工作?

    我正在研究一些框架代码 System AppDomain GetDynamicDir 方法 这就是汇编程序显示的全部内容 MethodImpl MethodImplOptions InternalCall private extern st
  • “if”语句可以在 bitbucket 管道中使用吗?

    我尝试运行以下步骤 但它不执行 if 步骤 第5行和第6行 我很确定它们应该执行 因为测试的目录不存在 我尝试了多种格式的bash if 但他们都失败了 有没有一种方法可以测试我正在使用的条件 step name Google Cloud