如何将整数参数传递给shell脚本然后将其传递给程序?

时间:2014-10-13 05:55:43

标签: c++ bash shell g++ command-line-arguments

以下是我尝试做的一个示例:

#!/bin/bash
set n = $argv[1]
g++ main.cpp
./a.out n

我试图在shell中调用它:

myscript 3

输出与执行以下操作不同

./a.out 3

但我希望它是一样的。怎么做?

1 个答案:

答案 0 :(得分:5)

您似乎使用了不同shell语法的混合。

  • 'set'不设置普通变量。只需使用n=value
  • 即可
  • 使用$ 1表示argv [1]
  • 通过在前面加上$来扩展变量,如下面的最后一行

这就是我想你想要的:

#!/bin/bash
n=$1
g++ main.cpp
./a.out $n

您还可以使用$ @传递所有提供的参数,如下所示:

#!/bin/bash
g++ main.cpp
./a.out $@