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
make
s - 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.