sh, ksh, csh, bash,
tcsh, zsh, . . .
csh), others for programming
(ksh).
#!/bin/ksh
function null_test {
echo ; echo "$ gen-cmds < /dev/null > cmds.cc"
gen-cmds < /dev/null > cmds.cc || return 1
echo ; echo "$ $CC -c cmds.cc"
$CC -c cmds.cc
}
echo
date
null_test
echo date
makes - use gnu make.
po : main.o input.o parse.o match.o unparse.o pattern.o part.o \
instruction-list.o
$(CXX) -o $@ $(cxxclflags) $^
test : po gen-icode arith.pat
$(MAKE) patterns=/dev/null Test
$(MAKE) patterns=arith.pat Test
Test :
i=0 ; \
while (( i < 10 )) ; do \
gen-icode > in ; \
po $(patterns) < in > out || exit 1 ; \
diff -w in out || exit 1 ; \
(( i = i + 1 )) ; \
done
po $(patterns) < /dev/null > out
if [ $$(wc -c out | awk '{print $$1}') -ne 0 ] ; then \
echo failed ; \
exit 1 ; \
fi
rm -f in out
input.o: input.cc input.h
rm *!
sccs is older and simpler.
cvs is more powerful and complex.
save command.
#/bin/ksh [[ -d old ]] || mkdir old f=$(expr $1 : '\([^/]*\)') tar cf - $f | gzip -9 > old/$f.tar.gz mv -f $f /tmp/$f
perl
python
tcl-tk is syntatically and semantically adeventerous.
expect).
if { ![string length $letters] } {
puts stderr "No letters given on command line."
puts stderr {Command format is "gen-chars [-w n] letter...".}
exit 1
}
set wildness [expr double($wildness)/100.0]
set sep ""
for { set i 0 } { $i < [string length $letters] } { incr i } {
set c [string index $letters $i]
puts -nonewline $sep
transform_char $c $wildness
set sep "\n"
}
This page last modified on 27 February 2001.