我只是在试图为名为loop
的循环脚本制作一个更简单或至少是自定义的东西。我希望它在语法中......
loop <start> <end> <command>
我是这样做的,但我无法弄清楚如何将命令参数传入循环。我知道如何做到这一点的唯一方法是bash -c
,它将把选项后面的第一个参数作为一个命令,将@ @取出所有内容。我需要它忽略前两个参数。这两个之后的所有内容都将在循环中执行。
所以即使是这样的事也行不通。
loop 1 1000 for ((i=1; i<1000; i++)); do touch some_dir; done
这就是我到目前为止工作得很好,显然没有命令。
for ((i=$1; i<$2; i++)); do echo "yaaaa!"; done;
答案 0 :(得分:1)
我想你想要这个?
function loop
{
local START=$1
local END=$2
shift 2
for LOOP in `seq $START $END`
do
"$@"
done
}
然后您可以将其用作:
loop 1 10 echo "yaaaa!"