我正在使用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
我正在尝试计算根据图像尺寸计算图像所需的时间。此脚本运行a.out,具有不同大小的图像(像素数从500,1000,1500,2000,...到10000,因此seq 500 500 10000),每个图像大小测量时间10次。
我在这里不明白的是在a.out中如何更改500到10000之间的图像大小。它说“#Pass图像大小到程序”和“/home/a.out $ j $ j”。程序如何获得此变量? a.out需要什么代码才能获得该图像大小?
答案 0 :(得分:0)
a.out
不会查看$j
- 它会查看其命令行参数。
我忘了bash是怎么做到的,但我想你会想看看$1
和$2
。在C或C ++中(我假设原始程序是;编译器喜欢命名可执行文件a.out
如果你没有指定名称),它们将是argv[1]
和argv[2]
。