我被要求在 C 中重新创建此命令,但没有关于 cmd1 可能是什么的附加信息。
< file1 cmd1 | cmd2 > file2
Run Code Online (Sandbox Code Playgroud)
我的问题围绕该命令的第一个字符解决:<.
让我们忽略管道后面的命令,并假装 cmd1 是cat。
因此,我可以替换< file1 cat为cat file1,这在 C 中更容易做到。但是当涉及到其他命令时,这种方法是否有效?
我已经用这两个命令测试了cat和:sed
< Makefile cat
cat Makefile
Run Code Online (Sandbox Code Playgroud)
和
< Makefile sed 'p'
sed 'p' Makefile
Run Code Online (Sandbox Code Playgroud)
两者打印出相同的结果。那么可以安全地假设我可以解释< file1 cmd1为吗cmd1 file1?
我正在创建一个在 GitHub Actions 中执行的简单命令,该命令构建一个 Makefile 并在找到(匹配)时返回错误Error 1,在未找到时返回成功...
我似乎要么让它失败,即使没有任何问题,要么当有问题时不失败。
这是我的整个命令:
find . -name "Makefile" -exec sh -c 'cd "$(dirname "$0")" && make' {} \; | grep -zqvE "Error 1"
Run Code Online (Sandbox Code Playgroud)
exit 1如果它找到这样的输出,我希望它:
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [compile] Error 1
Run Code Online (Sandbox Code Playgroud)
或者0其他情况