我正在使用 bash 脚本提交要在服务器上运行的程序,但我无法理解其工作原理。 我得到了一个完整的工作脚本,但无法理解它。
看看这个片段:
echo "Sequential,Number"
echo -n "Size"
for i in $(seq 1 1 10)
do
for j in $(seq 500 500 10000)
do
echo -n "$j,"
#Pass the image size to the program
/home/a.out $j $j
done
done
我正在尝试计算根据图像大小计算图像所花费的时间。此脚本使用不同尺寸的图像(像素数从 500、1000、1500、2000、... 到 10000,因此序列为 500 500 10000)运行 a.out,对每个图像尺寸测量时间 10 次。
我在这里不明白的是如何在 a.out 中更改从 500 到 10000 的图像大小。它说“#Pass the image size to the program”和“/home/a.out $j $j”。程序如何获取这个变量? a.out 需要什么代码才能接收该图像大小?
最佳答案
a.out
不会查看 $j
-- 它会查看其命令行参数。
我忘记了 bash 是如何做到的,但我想你会想要查看 $1
和 $2
。在 C 或 C++ 中(我假设原始程序是;编译器喜欢将可执行文件命名为 a.out
如果您不指定名称),它们将是 argv[1]
和 argv[2]
。
关于c++ - 如何使用 bash 脚本更改变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9542596/