如何从 Bash 中的文件调用多个命令行参数?

How to call several command line arguments from a file in Bash?

我有一个已编译的 C++ 程序,它需要 2 个命令行参数 到 运行 - 例如,如果我的参数是“10”和“3000”,"Program" 将 运行 为 ./Program 10 3000

我想从名为 "args" 的文件 中读取命令行参数。

./Program args 运行s 带有 1 个参数的程序,args

./Program "$(< args)" 其中 args = "10 3000" 运行s 有 1 个参数,10 3000

最后,./Program "$(< args1)" 其中 args = "10{newline}3000" 也 运行 带有 1 个参数,即 10{newline}3000.

有什么办法吗?

郑重声明,我的想法是使用类似

的东西

./Program args1 < input1 > output1./Program args2 < input2 > output2 等,所以如果有任何方法可以将其参数化为 ./Program argsN < inputN > outputN 并调用 run(3) 或其他方式,我会很高兴听到它:)

注: C++的cin不用于此,仅argc/argv.

假设这是您的 cpp 程序:

#include <iostream>

using namespace std;
int main(int argc, char *argv[]){
    for(int i = 1; i < argc ; i++){
        cout << argv[i] << endl;
    }
}

这是您的输入文件:

10
30
Apples

那么你可以这样做:

./program $( < parameters.txt )

结果将是:

 $ ./program $( < parameters.txt )
10
30
Apples

希望对您有所帮助!