如何从 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
希望对您有所帮助!
我有一个已编译的 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
希望对您有所帮助!