如何从 Bash 中的文件调用多个命令行参数?
Posted
技术标签:
【中文标题】如何从 Bash 中的文件调用多个命令行参数?【英文标题】:How to call several command line arguments from a file in Bash? 【发布时间】:2020-03-29 05:54:13 【问题描述】:我有一个编译的 C++ 程序需要 2 个命令行参数才能运行 - 例如,如果我的参数是“10”和“3000”,“程序”将以./Program 10 3000
运行
我想从名为“args”的文件中读取命令行参数。
./Program args
运行带有 1 个参数的程序,args
./Program "$(< args)"
其中args = "10 3000"
使用 1 个参数运行,10 3000
最后,./Program "$(< args1)"
args = "10newline3000"
也使用 1 个参数运行,即 10newline3000
。
有没有办法做到这一点?
为了记录,这个想法是使用类似于
的东西./Program args1 < input1 > output1
、./Program args2 < input2 > output2
等,所以如果有任何方法可以将其参数化为 ./Program argsN < inputN > outputN
并调用 run(3)
或其他名称,我会很高兴听到它 :)
注意:C++ 的cin
不能用于此,只有argc/argv
。
【问题讨论】:
你试过./Program $(< args)
[没有"
] 其中args
有10 3000
【参考方案1】:
假设这是你的 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
希望对你有帮助!
【讨论】:
这是围绕 $(以上是关于如何从 Bash 中的文件调用多个命令行参数?的主要内容,如果未能解决你的问题,请参考以下文章
如何从命令行调用文件中的特定 python 函数? [复制]