#!/bin/bash set -e . #ETCDIR#/check-versions.conf print() { echo -n "$1 (" grep '^real' "${tmpDir}/$1.time" | \ awk '{print $2"):"}' cat "${tmpDir}/${dist}.out" echo } if [ $# -eq 0 ]; then tmpDir="$(mktemp -d)" echo "${!cmds[@]}" | \ tr ' ' '\n' | \ parallel "$0" "${tmpDir}" "{}" || \ echo "parallel exited with code $?" gefunden=false for dist in "${!cmds[@]}"; do if [ -s "${tmpDir}/${dist}.out" ]; then gefunden=true print "${dist}" fi done if ! ${gefunden}; then for dist in "${!cmds[@]}"; do print "${dist}" done fi rm -rf "${tmpDir}" else time ( :; ( ${cmds["$2"]} ) &> "$1/$2.out" ) 2> "$1/$2.time" fi