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

标签 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

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

最佳答案

您似乎混合使用了不同的 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/

相关文章:

shell - 如何修复 Alpine Linux 中的 "Pseudo-terminal will not be allocated because stdin is not a terminal"?

c++ - 32 位二进制到 24 位有符号转换

c++ - 在 C++ 中访问蓝图类组件的正确方法是什么

c++ - 获取现有文件句柄windows C++

linux - 从 bash 中的循环开始的后台进程是否可以从以后的迭代中获取值?

python - 我的 python 函数有什么问题?

c++ - 从函数获取数组索引

linux - 使用区分大小写的名称重命名文件夹

linux - 如何在接收参数的shell脚本中创建一个函数?

shell - 如何通过命令行从视频中裁剪矩形?