bash脚本中的mvn if语句

2024-02-24

我想在 bash 脚本中运行命令 mvn clean 。但我想把它放在 if 语句中。如果 clean 无法正常运行,我想使用 echo 语句退出 bash 脚本。 这是导致问题的代码: 如果 [ mvn clean ];然后

我尝试将 $(mvn clean) 放入 if 语句中,但终端显示参数太多。有谁知道这是否可能?谢谢!


这就是你想要的:

mvn clean
if [ "$?" -ne 0 ]; then
    echo "Maven Clean Unsuccessful!"
    exit 1
fi

解释:

  • $? is a 特殊的 shell 变量 http://unixhelp.ed.ac.uk/scrpt/scrpt2.2.2.html包含最近执行的命令的退出代码(无论是否成功终止)。
  • -ne是一个选项test builtin http://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Builtins.html#Bourne-Shell-Builtins [。它代表“不等于”。所以在这里我们测试退出代码是否来自mvn clean不等于零。
  • echo "Maven Clean Unsucccessful!"- 如果是这种情况,那么我们会输出一些指示性消息,并使用错误的退出代码退出脚本本身。

当你这样做时$(mvn clean),这会生成一个新的子 shell 来运行mvn clean,然后简单地将输出的所有内容转储到stdout在该子 shell 中运行mvn clean去哪里$(...)在父 shell 中使用。


或者, 你可以做:

mvn clean || { echo "Maven Clean Unsuccessful"; exit 1; }

这只是做同样事情的简写语法糖。

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

bash脚本中的mvn if语句 的相关文章

  • Maven:无法解析的构建扩展

    我一直在谷歌上查看 没有任何内容真正指出这个问题 当我运行 mvn clean install 时 它返回以下错误 错误 无法解析的构建扩展 插件 org sonatype flexmojos flexmojos maven plugin
  • Sam 在 intellij 中构建:错误:JavaMavenWorkflow:MavenBuild - 'utf-8' 编解码器无法解码位置 150889 中的字节 0xbb:无效的起始字节

    我正在使用带有 Spring Boot 应用程序的 aws 无服务器架构 当我在 intellij 中使用 sam build 构建项目时 出现以下错误 Building codeuri runtime java11 metadata fu
  • 具有非阻塞读取功能的 Bash 脚本

    我想使用命名管道将一些数据发送到根进程 这是脚本 效果很好 bin sh pipe tmp ntp if p pipe then mknod m 666 pipe p fi while true do if read line lt pip
  • ANSI 转义码在行尾有奇怪的行为

    重现步骤 考虑以下 shell 命令 echo e e 41mTest nTest2 e 0mTest3 它打印Test并在下一行中Test2具有红色背景 使用 ANSI 转义码 Test2后面直接是Test3这是无色的 行为 第一次执行此
  • 通过 SSH 将变量传递给远程脚本

    我正在通过 SSH 从本地服务器在远程服务器上运行脚本 首先使用 SCP 复制该脚本 然后在传递一些参数时调用该脚本 如下所示 scp path to script server example org another path ssh s
  • 将终端颜色扩展到行尾

    我有一个生成 motd 的 bash 脚本 问题取决于某些终端设置 我不确定颜色是否会延伸到行尾 其他时候则不然 e g v s IIRC 一个只是普通的 gnome 终端 另一个是我的 tmux 术语 所以我的问题是如何才能将其扩展到 8
  • 从 bash 脚本运行节点

    很简单 我正在尝试使用 cron 自动运行 nodejs 脚本 但是脚本本身似乎无法运行该文件 我的脚本很简单 usr bin env node node var node assets js update js 但是 在运行此命令时 它返
  • 如何在 mac 中使用“getopt”命令让 bash 处理长参数?

    我想让我的 bash 脚本处理长参数 我发现getopt 但 OS X 不支持它 谁能告诉我为什么getoptBSD 实现了 GNU 没有实现 我尝试构建getopt在 GNU C lib 中 但由于我对 Linux 的技能不佳而失败了 有
  • Bash 脚本 - 迭代 find 的输出

    我有一个 bash 脚本 其中需要迭代 find 命令输出的每一行 但似乎我正在迭代 find 命令中的每个单词 以空格分隔 到目前为止我的脚本看起来像这样 folders find maxdepth 1 type d for i in f
  • 使用 mkfifo 和传输流,这可能吗?

    我想执行一个 bash 脚本来执行以下操作 应用程序 ffmpeg 生成实时传输流 ts 文件 我需要处理这个实时流 执行解复用等 现在我知道这必须通过 FIFO 来完成 但这是我的任务 我需要重定向 ffmpeg 的输出以写入 fifo
  • execlp 多个“程序”

    我想运行类似的东西 cat file tar base64 myprogram c base64 d tar zvt I use execlp运行该进程 当我尝试运行类似的东西时cat它有效 但如果我尝试运行base64 d tar zvt
  • 父属性是否可以设为最终属性,以便子属性无法覆盖

    是否可以使模块 pom 无法覆盖父 pom 中的属性 例如 如果模块 pom 说
  • Gradle 构建错误

    由于此错误 我的构建失败 评估项目 DBSupport 时出现问题 gt 找不到 参数 project Core Platform 上提供的方法providedCompile 项目 DBSupport 知道这意味着什么吗 descripti
  • 将 JSON 数组转换为 bash 数组并保留空格

    我想将 JSON 文件转换为 bash 字符串数组 稍后我可以对其进行迭代 我的JSON结构如下 USERID TMCCP CREATED DATE 31 01 2020 17 52 USERID TMCCP CREATED DATE 31
  • Intellij IDEA 断点停止在 JAR 中,而不是我的项目的源代码中

    我在 java 文件中设置了一个断点 我通过 maven jetty 插件启动了 jetty 我设置断点的java文件也打包成JAR了 Intellij 在断点处停止 但它显示了打包到 JAR 中的文件而不是 java 文件 它的行为就像我
  • 如何使用maven创建基于spring的可执行jar?

    我有一个基于 Maven 的 Spring WS 客户端项目 我想将其打包为单个 jar 在eclipse中 一切运行正常 当我尝试将其打包为可执行 jar 时 我收到 ClassNotFound 异常 因为 Spring jar 未包含在
  • touch命令在一个目录下创建多个文件(不同名称)

    我想制作一个在 bash 中创建目录和文件结构的脚本 我尝试过这样的事情 mkdir p 1 2 touch 1 2 a b c a b c 应该是在一个命令或其他命令中创建的文件 但由于某种原因 结构是这样的 current folder
  • 如何将长选项与 Bash getopts 内置一起使用?

    我正在尝试解析 tempBash getopts 的选项 我这样调用我的脚本 myscript temp foo bar someFile 这是我用来解析选项的代码 while getopts temp shots o option do
  • 在 shell 脚本中连接命令字符串

    我正在维护一个现有的 shell 脚本 它将命令分配给 shell 脚本中的变量 例如 MY COMMAND bin command dosomething 然后接下来 它通过执行以下操作将 参数 传递给 MY COMMAND MY ARG
  • 如何剪切(1) 个驼峰字?

    Bash 中有没有一种简单的方法可以将驼峰式单词拆分为其组成词 例如 我想将 aCertainCamelCasedWord 拆分为 a certain Camel Cased Word 并能够选择我感兴趣的那些字段 当单词分隔符是下划线时

随机推荐

  • Jenkins git 插件,轮询某些路径

    我有一个 jenkins 工作 负责一个具有以下结构的 Maven 多模块项目 Module A Module B 桌面应用程序 common 我想仅当更改被推送到特定路径时才执行部署桌面应用程序的作业 使用 git 插件 应该可以做到这一
  • 使用 DateTime.strptime 时不考虑 Rails 夏令时

    我一直致力于解析字符串 并且有一个测试用例给我带来了问题 使用 strptime 解析日期 时间字符串时 不考虑夏令时 据我所知 这是一个错误 我找不到有关此错误的任何文档 这是 Rails 控制台中的一个测试用例 这是 ruby 1 9
  • 将带名称和不带名称的命名空间添加到 XElement

    我需要生成如下 XML
  • 使用多处理来查找网络路径

    我目前正在使用 networkx 函数 all simple paths 来查找网络 G 中给定的一组源节点和目标节点的所有路径 在更大 更密集的网络上 这个过程非常密集 我想知道是否可以使用多处理来解决这个问题 以及是否有人对如何通过创建
  • 嵌入式领域“软复位”和“硬复位”有什么区别?

    在我看来 软复位 从复位向量启动 硬重置 拉cpu的电平 硬复位当然意味着整个CPU芯片及其所有外设都被复位 造成这种情况的原因可能有很多 复位引脚被外部拉动 时钟故障 片上低电压检测 看门狗 非法指令陷阱等 软复位可能意味着返回复位向量的
  • 只要父文件夹中尚不存在任何文件,就将所有文件从“旧”文件夹移至父文件夹中

    只要父文件夹中尚不存在文件 我的代码就应将所有文件从 旧 文件夹移至父文件夹中 Folder 1 old somefiles 2 old somefiles 3 old somefiles Folder 1 somefiles old 2
  • 在elasticsearch中创建TransportClient时限制ThreadPool中的线程数

    我正在 elasticsearch 中创建一个 TransportClient 实例 下面是相同的代码 问题是我试图减少 TransportClient 启动的线程池生成的线程数 但无论我使用什么设置 我的elasticsearch总是用1
  • Delphi 按钮在 Aero 玻璃上显示白色边框

    我一直在尝试在 Delphi 2010 中使用 Aero 来找到一个好看的设计 人们看到的一个明显的用途是玻璃框架被扩展以包括屏幕底部的 确定 取消 按钮 我注意到 这在 Delphi 2010 中看起来不太正确 每个按钮周围都有一个白色边
  • 将字符串转换为 TextView

    String data tv 另外 在我的 xml 文件中 我有一个名为 tv1 的 TextView 我已经在 Activity 中投射了 textView TextView tv1 TextView findViewById R id
  • Windows 中的 msync 等效项

    Windows 中的 rsync unix 系统调用 相当于什么 我正在寻找 C C 空间中的 MSDN api 有关 msync 的更多信息 请访问http opengroup org onlinepubs 007908799 xsh m
  • 如何在 Android 的 SQLite 查询中使用 LIMIT 参数

    我正在尝试使用以下查询来获取按日期列出的最新结果 Cursor cursor mDb query DATABASE TABLE new String KEY DATE KEY REPS KEY WEIGHT null null null n
  • 从 ZIP 字符串中提取文件

    我有一个 BASE64 字符串的 zip 文件 其中包含一个 XML 文件 关于如何获取 XML 文件的内容而无需处理磁盘上的文件 有什么想法吗 我非常希望将整个过程保留在内存中 因为 XML 只有 1 5k 必须编写 zip 提取 XML
  • 查询优化——花费太长时间并停止服务器

    我的查询生成一些有关超速 上次时间和平均速度的报告 这是我的查询 Select r1 r2 name r2 notes r2 serial From SELECT k idgps unit MIN k dt AS DT Start MIN
  • 计算未排序数据中唯一对和非唯一对实例的数量

    我有以下形式的数据 ID ATTR 3 10 1 20 1 20 4 30 其中 ID 和 Attr 未排序并且可能包含重复项 ID的范围是1 20 000左右 ATTR是unsigned int 我可能需要一次处理 100 000 到 5
  • IE 的 toLocaleString 结果中有奇怪的字符

    我遇到了一个超级奇怪的事情 显然是 IE 特定的toLocaleString关于日期 在 IE 控制台窗口中 new Date 2014 08 28T20 51 09 9190106Z toLocaleString 8 28 2014 1
  • 无法重写prefersHomeIndicatorAutoHidden()方法

    我在 XCode 10 的应用程序中使用这行代码 以便调暗 iPhone X 和相关无边苹果设备上的主页指示灯 override func prefersHomeIndicatorAutoHidden gt Bool return true
  • 计算 Pandas 数据框中的不同单词数

    我有一个 Pandas 数据框 其中一列包含文本 我想获得整个列中出现的唯一单词的列表 空格是唯一的分割 import pandas as pd r1 My nickname is ft jgt Someone is going to my
  • 使用 JQuery 访问 ASP.net Web 服务时出错 - JSONP

    请查看下面的代码并帮助我找出我的网络服务代码中做错了什么 我想设置一个可以使用 JSONP 来使用的 asp net Web 服务 我在客户端使用 Jquery 来访问该网站 即使在设置了正确的属性之后 我的 Web 服务仍然会发出 xml
  • PHPExcel 字符串到时间

    我创建了一个 Excel 电子表格 在第二列中我有类似的值0 11 23 and 2 03 33 价值数千行 我使用 PHP 将格式设置为 sheet gt getStyle colRange gt getNumberFormat gt s
  • bash脚本中的mvn if语句

    我想在 bash 脚本中运行命令 mvn clean 但我想把它放在 if 语句中 如果 clean 无法正常运行 我想使用 echo 语句退出 bash 脚本 这是导致问题的代码 如果 mvn clean 然后 我尝试将 mvn clea