如何从 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) [没有"] 其中args10 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 中的文件调用多个命令行参数?的主要内容,如果未能解决你的问题,请参考以下文章

bash 到 Rscript 中的命令行参数

从python中的命令行使用参数解析多个列表

如何在 Bash 中更改命令行参数?

如何从命令行调用文件中的特定 python 函数? [复制]

解析/传递命令行参数到bash脚本 - “$ @”和“$ *”之间有什么区别?

从 bash shell 中先前执行的命令中调用所有参数