我制作了一个脚本,这样我就可以通过编写
轻松地在不同的终端执行多个程序./script.sh (numberofprogramstype1) (numberofprogramstype2)
问题是它只执行每种类型中的一种,即使我根据给定的参数循环它。这是我的代码:
gcc program1.c -lpthread
for i in {1..$1}
do
gnome-terminal -e ./a.out
done
gcc program2.c -lpthread
for i in {1..$2}
do
gnome-terminal -e ./a.out
done
为什么会发生这种情况,我该如何解决?
答案 0 :(得分:1)
支撑扩展在参数扩展之前发生;你只能在其中使用硬编码的数字。改为使用C风格的for
循环。
# {1..$1}
for ((i=1;i<=$1;i++)); do
...