在第一次运行时,我需要curl 来运行并等待响应。数据库有一个更新字段的触发器,我需要等待。然后在我的所有其他卷发上运行单独的线程。我无法使用curl的并行选项,因为我们的版本没有它,而且我无论如何也无法更新它,所以我必须去老学校做
for ...
curl "some curl options" &
end for loop
wait # this waits for all the threads to finish
所以我需要在第一次运行后设置“&”符号。仅供参考,我的curl 命令有20 行长,我确实在curl 命令末尾尝试过这个,但它不起作用。尝试在 & 符号周围使用单引号和双引号也不起作用,并给我“意外的文件结尾”错误。
$(if [[ $firstRun == false ]]; then echo & fi)
您无法动态向命令行添加语法。因此,只需编写两个相同的命令,其中一个不带
&
。
firstRun=true
for ...; do
if [[ $firstRun = true ]]
then
curl "some curl options"
firstRun=false
else
curl "some curl options" &
fi
done
wait
如果您不想重复整个
curl
命令,请将其放入函数中。