gpt4 book ai didi

c++ - 并行 gnu 在 shell 脚本中传递参数

转载 作者:行者123 更新时间:2023-11-30 05:19:54 26 4
gpt4 key购买 nike

我想将参数传递给 shell 脚本中的 C++ 程序,该脚本仅将其打印到控制台。但是,我想使用 gnu parallel 来做到这一点。目前我有一个 shell 脚本,

#!/bin/sh
parallel -k echo ::: 1 2 3 > cTest
parallel ./hello :::: cTest

我首先创建一个文件“cTest”,其中包含将传递给可执行文件“hello”的项目。

目前,上面的代码只打印空格。我试过,

parallel echo :::: cTest | ./hello

但这只会打印“2”(我也担心上面不会并行)。

有人知道如何让它工作吗?

最佳答案

这对我有用:

#!/bin/sh

cat <<EOF >hello.cpp

#include <iostream>

int main(int argc, char** argv) {
std::cout << "Have " << argc << " arguments:" << std::endl;
for (int i = 0; i < argc; ++i) {
std::cout << argv[i] << std::endl;
}
}

EOF
g++ hello.cpp -o hello

parallel -k echo ::: 1 2 3 > cTest
parallel ./hello :::: cTest

关于c++ - 并行 gnu 在 shell 脚本中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40944155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com