ngspice/contrib/mslib/libprm

71 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
#set -x -v
# MW. Lip / Param parsing program for spice
# -n normal, -f full (keep everything), -r replace original file
# -e new addition start with editor, then like normal
export TMPLP=/tmp/LibPrm.$$-
function trapper()
{
echo User break!
echo Exiting . . .
rm -f -v ${TMPLP}*
unset TMPLP
exit 1
}
trap trapper SIGINT SIGQUIT
function operror()
{
echo Incorrect parameters: $*, $#
unset TMPLP
exit 2
}
function repnormpl()
{
mslib $1 ${TMPLP}1
sed -n -e 'p' -e "1r ${TMPLP}1" $1 >${TMPLP}2
spiceprm ${TMPLP}2 $2
}
function keepall()
{
mslib $1
sed -n -e 'p' -e "1r $1.lib" $1 >${TMPLP}2
spiceprm ${TMPLP}2 $2
}
function withedit()
{
joe $1
mslib $1 ${TMPLP}1
sed -n -e 'p' -e "1r ${TMPLP}1" $1 >${TMPLP}2
spiceprm ${TMPLP}2 $2
}
# Main body
if test $# -lt 2 -o $# -gt 3; then operror $*; fi
if !(test -f $2); then operror $*; fi
case $1$# in
-r3) operror $*;;
-n2) repnormpl $2 ${2%.cir}.ckt;;
-n3) repnormpl $2 $3;;
-r2) repnormpl $2 $2;;
-f2) keepall $2 ${2%.cir}.ckt;;
-f3) keepall $2 $3;;
-e2) withedit $2 ${2%.cir}.ckt;;
-e3) withedit $2 $3;;
esac
rm -f ${TMPLP}*
unset TMPLP
exit 0