Ciao a tutti!
Devo implementare uno script di shell che trova i discendenti di tutti i processi passati per nome in input.
La soluzione che mi è venuta in mente è questa

codice:
#! /bin/sh

if [ $# -eq 0 ]
then
	echo $0: wrong number of arguments
	echo usage: $0 filename
	exit 1
fi

function return_pid(){
	ps --ppid $j | egrep '^[0-9]'| awk '{print $4}'
}

for i in $*
do
	ppid=`ps -C $i | egrep '^[0-9]'| awk '{print $1}'`
	for j in $ppid
	do
		return_pid $j
	done
done
solo che avviandola mi da questo errore:
10: Syntax error: "(" unexpected

Suppongo che sia perchè la funzione in realtà non riconosce $j...come faccio a passare un argomento a tale funzione?