shell

原来Bash的并行计算是这样的

六二三
今天有个批量下载图片的任务,不打算用python或者其他高级语言实现,决定用bash尝试下。 接下来我们一起了解下bash的并发任务是如何实现的?先上一版简单粗暴的代码: #!/bin/bash todo () { sleep 3;echo "$1OK"; } # --- 串行 for x in `seq 5`;do echo $x; todo $x; done # --- 并行 for x in `seq 5`;do { echo $x; todo $x; }& done wait # 是的,你没看错,并行相较于串行之多了几个符号 `{ }&` 和 `wait`。 # 其中,wait函数,该函数将等待后台所有子进程结束。正是因为有了此函数, # 才能保证commands2在所有commands1并行子任务执