使用场景
在脚本中需要并发执行多个命令,比如,需要同时登录到 10 台机器,并在 10 台机器是分别格式化磁盘。格式化磁盘是一个耗时的操作,如果顺序执行的话,会非常耗时。所以可以使用后台执行,使用 wait 命令等待所有的后台命令返回。
解决方法
当有多个任务时需要同时运行时,可按照如下格式编写。
#!/bin/bash
func1(){
sleep 3
echo "$(date) func1" | tee /tmp/func1
}
func2(){
sleep 3
echo "$(date) func2" | tee /tmp/func2
}
func3(){
sleep 3
echo "$(date) func3" | tee /tmp/func3
}
func1 &
func2 &
func3 &
wait