#!/bin/sh -ex ssh-add update_repo() { cd "$1" || return printf 'Updating repository \033[1m%s\033[0m...\n' "$1" git pull } cd ~/git set +ex for i in *; do while [ "$(jobs -p | wc -l)" -ge 4 ]; do sleep 1 done update_repo "$i" & done wait