【问题标题】:How to call several command line arguments from a file in Bash?如何从 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 = "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。

【问题讨论】:

  • 你试过./Program $(< args) [没有"] 其中args 有10 3000

标签: bash parameter-passing command-line-arguments


【解决方案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

希望对你有帮助!

【讨论】:

  • 这是围绕 $(
猜你喜欢
  • 1970-01-01
  • 2015-07-07
  • 1970-01-01
  • 2014-07-14
  • 2018-03-12
  • 1970-01-01
  • 2016-01-18
  • 2017-06-13
  • 1970-01-01
相关资源
最近更新 更多