До сих пор я использовал

trap " call function" 2 

fucntion
{
./test.sh
exit
}

но он никогда не достигнет линии выхода и вся куча процессов накапливается, у кого-нибудь есть идеи?

Я пробовал & (bg), но мне нужно быть в состоянии продолжать это делать, bg позволяет мне сделать это только один раз. Смысл в том, что когда я набираю ctrl C, он должен завершить исходный test.sh, но он также должен вызывать сам себя перед завершением, следовательно, создайте новый процесс.

Это то, что я имею до сих пор

while [ 1 ]
do

count=0;
echo $count
count=`expr $count + 1`

done

trap "restart" 2 ( for the ctrl c)

restart()
{

 ./callitself.sh
 exit ( it never reaches here therefore it doesnt kill the original process which is what i need otherwise it works fine)

}

0