mkscripts.sh revision 16
116Salm#!/bin/sh -
216Salm# This script generates ed test scripts (.ed) from .t files
316Salm
416SalmPATH="/bin:/usr/bin:/usr/local/bin/:."
516SalmED=$1
616Salm[ X"$ED" = X -o ! -x $ED ] && ED="../ed"
716Salm[ ! -x $ED ] && { echo "$ED: cannot execute"; exit 1; }
816Salm
916Salmfor i in *.t; do
1016Salm#	base=${i%.*}
1116Salm#	base=`echo $i | sed 's/\..*//'`
1216Salm	base=`expr $i : '\([^.]*\)'`
1316Salm	(
1416Salm	echo "#!/bin/sh -"
1516Salm	echo "$ED - <<\EOT"
1616Salm	echo "r \\$base.d"
1716Salm	cat $i
1816Salm	echo "w \\$base.o"
1916Salm	echo EOT
2016Salm	) >$base.ed
2116Salm	chmod +x $base.ed
2216Salm# The following is pretty ugly and not appropriate use of ed
2316Salm# but the point is that it can be done...
2416Salm#	base=`$ED - \!"echo \\\\$i" <<-EOF
2516Salm#		s/\..*
2616Salm#	EOF`
2716Salm#	$ED - <<-EOF
2816Salm#		a
2916Salm#		#!/bin/sh -
3016Salm#		$ED - <<\EOT
3116Salm#		r \\$base.d
3216Salm#		w \\$base.o
3316Salm#		EOT
3416Salm#		.
3516Salm#		-2r \\$i
3616Salm#		w \\$base.ed
3716Salm#		!chmod +x \\$base.ed
3816Salm#	EOF
3916Salmdone
4016Salm
4116Salmfor i in *.err; do
4216Salm#	base=${i%.*}
4316Salm#	base=`echo $i | sed 's/\..*//'`
4416Salm	base=`expr $i : '\([^.]*\)'`
4516Salm	(
4616Salm	echo "#!/bin/sh -"
4716Salm	echo "$ED - <<\EOT"
4816Salm	echo H
4916Salm	echo "r \\$base.err"
5016Salm	cat $i
5116Salm	echo "w \\$base.o"
5216Salm	echo EOT
5316Salm	) >$base-err.ed
5416Salm	chmod +x $base-err.ed
5516Salm#	base=`$ED - \!"echo \\\\$i" <<-EOF
5616Salm#		s/\..*
5716Salm#	EOF`
5816Salm#	$ED - <<-EOF
5916Salm#		a
6016Salm#		#!/bin/sh -
6116Salm#		$ED - <<\EOT
6216Salm#		H
6316Salm#		r \\$base.err
6416Salm#		w \\$base.o
6516Salm#		EOT
6616Salm#		.
6716Salm#		-2r \\$i
6816Salm#		w \\${base}-err.ed
6916Salm#		!chmod +x ${base}-err.ed
7016Salm#	EOF
7116Salmdone
72