Computertechnik mit Mikrocontrollern
Computertechnik mit Mikrocontrollern
Computertechnik mit Mikrocontrollern
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
ANHANG D. PROGRAMM PCB 229<br />
Myp=$0 # Patch here if next if exits<br />
if [ ! -x "$Myp" ]<br />
then echo Please use latest version of bash or ash.; exit -1; fi<br />
Myn=$(basename $Myp) # My Name<br />
Noa=$# # Number Of Args<br />
Dir=$(echo $Myp|sed -e s#$Myn\$## -e s#/\$## ) # Directory program comes from<br />
if [ "$Dir" = "" ]; then Dir=.; fi<br />
Nam=$(echo $Myn|sed s/\\..*//) # Name of programfile without dot<br />
Fun=$(echo $Myn|sed s/${Nam}.//) # Name of running method<br />
Edi=/bin/vi # prefered editor<br />
Lom="" # List Of Methods<br />
Lop="" # List OF temP. files 20020107<br />
Lot="basename sh echo sed type" # List Of Tools<br />
Loc="class" # List Of Classes<br />
#.Added:2005May07:class:new:pcb:Global Variables<br />
Loc="$Loc pcb"<br />
#.Added:2006Nov18:pcb:new:pcb:Global Variables<br />
Loc="$Loc pcb"<br />
#.#############################################################################<br />
#. Global Functions<br />
#.#############################################################################<br />
# Debug () { bash; } # 1st line MUST BE: #!/bin/bash -a<br />
# Debug () { set | less; } # see all variables<br />
# Debug () { set -x; } # activates bash -x<br />
# Debug () { set -v; } # activates bash -v<br />
# Debug () { echo $@; sleep 5; }<br />
# Debug () { logger $@; }<br />
# Debug () { export $@; bash; }<br />
Exit_onerror () # $1=programname; run very critical program<br />
{ if ! $1 ; then echo $Myn aborted: Error running $1 !; Quit -1; fi; }<br />
Testargs () { # testarguments num [file]<br />
if [ $Noa -lt $1 ]; then Met=man; $Nam.$Fun; Quit -1; fi<br />
if [ -z "$2" ]; then return; fi<br />
if [ "$2" = "-" ]; then return; fi # stdin<br />
if ! [ -f "$2" ]; then echo Cannot find $2!; Quit -1; fi; }<br />
Lot="$Lot mktemp"<br />
Mktmp_return="" # Mktmp() is string_function, $() does not change global $Lop<br />
Mktmp () { # make temporary File 20021118 HKU<br />
local n=$(mktemp Tmp$$XXXXXX); Lop="$(pwd)/$n $Lop"; Mktmp_return=$n; }<br />
Mktmpdir () { # make temporary Dir<br />
local n=$(mktemp -d Tmp$$XXXXXX); Lop="$(pwd)/$n $Lop"; Mktmp_return=$n; }<br />
Lot="$Lot ln"<br />
Install () { (cd $Dir;ln -sf $Myn $1 2>/dev/null); }<br />
Lot="$Lot rm"<br />
Deinstall () { rm $Dir/$1; }<br />
Quit () {<br />
local n<br />
for n in $Lop; do<br />
if [ -f $n ]; then rm $n;<br />
else if [ -d $n ]; then rmdir $n; fi; fi<br />
done; exit $1; }<br />
#.Added:2005May07:class:new:pcb:Global Functions<br />
#.Added:2006Nov18:pcb:new:pcb:Global Functions<br />
pslayout () {<br />
echo "%!PS-Adobe-1.0"<br />
echo "%%Title: $(echo $1|sed s/\\..*//).ps"<br />
echo "%%Creator: ${Myn} from www.hanns-konrad.de"<br />
echo -n "%%Date: "; date "+%Y%b%d %H:%M"<br />
cat