这是我正在尝试做的示例:
#!/bin/bash
set n = $argv[1]
g++ main.cpp
./a.out n
我试图在 shell 中这样调用它:
myscript 3
输出与执行以下操作不同
./a.out 3
但我希望它是一样的。它是怎么做到的?
最佳答案
您似乎混合使用了不同的 shell 语法。
- 'set' 不设置普通变量。只需使用
n=value
- 对 argv[1] 使用 $1
- 通过在前面放一个 $ 来扩展变量,如下面的最后一行
这就是我认为你想要的:
#!/bin/bash
n=$1
g++ main.cpp
./a.out $n
您还可以使用 $@ 传递所有提供的参数,如下所示:
#!/bin/bash
g++ main.cpp
./a.out $@
关于c++ - 如何将整数参数传递给 shell 脚本,然后将其传递给程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26333728/