#!/bin/bash ps="" for p in $*; do ps="$ps `ps -e | grep $p | awk '{print $1}' | sort -n | sed 's/^/-p /' | tr '\n' ' '`" done while [ `echo "$ps" | grep -c " "` -ne 0 ]; do ps=`echo "$ps" | sed 's/ / /'` done ps=`echo "$ps" | sed 's/\(^\s*\)\|\(\s*$\)//'` if [ -z "$ps" ]; then echo "No processes found." else top $ps fi