当前位置: 首页 > 知识库问答 >
问题:

使文件和命令行具有不同的行为

臧弘和
2023-03-14

我目前正在做一个更大的项目,我想用很少的代码作为输入来测试可执行文件。
我这样称呼它/test

我想自动化,所以我创建了这样的调用:

#makefile 
[...]
test : 
    ./test < code1 
    @echo $$?
    ./test < code2 
    @echo $$?
    [...]

[...]

所以我可以调用进行测试

当程序返回0作为成功时,一切正常。但当程序必须返回0以外的内容时,它会显示以下内容:

./test < code3
Makefile:19: recipe for target 'test' failed
make: *** [test[ Error 2

奇怪的是,当我试图用代码调用程序时,它在命令行中崩溃了,比如:

./test < code3; echo $?  

它工作得很好,并向我显示了最后一次退出状态(例如3)。
我现在很困惑,因为我认为它应该也能工作。有人能帮我吗?
谢谢!


共有1个答案

姜俊民
2023-03-14

看看这个答案:https://stackoverflow.com/a/41452754/939557

您需要将echo放入与测试调用相同的逻辑行中:

test : 
        ./test < code1; echo $$?
        ./test < code2; echo $$?
 类似资料:
  • 本文向大家介绍使用Windows命令行同步文件,包括了使用Windows命令行同步文件的使用技巧和注意事项,需要的朋友参考一下 要使用Windows命令行同步文件,您将需要使用xcopy命令。该程序的默认操作是将文件或目录从一个位置复制到另一个位置,但是您可以给它提供标志来告诉它同步文件。有一些标志可用(使用xcopy /?查看所有标志),但您可能只想使用以下标志: / D-复制在指定日期或之后更

  • 我正在创建一个脚本,我需要同时运行exe文件和命令。我做错了什么? 命令行需要完全如下,否则不起作用:C:\Program Files(x86)\Jenkins 谢谢

  • 问题内容: 我想在zip文件中添加一个具有不同名称的文件,并避免创建具有所需名称的新文件。例如,我想将myfile.txt文件添加到zip中,但将其重命名为myfile2.txt。 谢谢 问题答案: 您可以使用zip包随附的zipnote。 首先使用myfile.txt文件构建zip存档: 然后使用以下命令在zip存档中重命名myfile.txt: (感谢[ens的建议而不是。) 的简短说明: 发

  • 问题内容: 我试图用来创建我的,以确保我的构建/项目的质量。该项目也需要使用和。一切在我的本地计算机上都可以正常运行,但是现在我正在尝试使环境一致,可重现。当我尝试在新的虚拟机中运行时,会中断一个在本机中正常运行但 不在 新vm中运行的。 我检查了版本,,,(其)一切都是一样的。但是,我的Maven项目在此测试中失败了。 我在这里想念什么?任何想法,建议都会受到赞赏,因为我现在还没有想法,到目前为

  • 工欲善其事,必先利其器。学好SQLite的命令行工具,对于我们学习SQLite本身而言是非常非常有帮助的。最基本的一条就是,它让我们学习SQLite的过程更加轻松愉快。言归正传吧,在SQLite的官方下载网站,提供了支持多个平台的命令行工具,使用该工具我们可以完成大多数常用的SQLite操作,就像sqlplus之于Oracle。以下列表给出了该工具的内置命令: 命令名 命令说明 .help 列出所

  • 命令行工具 meteor help 获取 meteor 命令行使用帮助。运行 meteor help 会列出meteor所有命令。运行meteor help &lt;command&gt;会打印出关于meteor &lt;command&gt;的详细帮助。 meteor create &lt;name&gt; 创建一个名为&lt;name&gt;的子目录,并在里面新建一个Meteor应用。 met