各位大大好: . s8 J# D' k/ W4 x& W/ A 小弟執行nanosim時,卻無法跑出視窗來,有個錯誤可是我不清楚該如何解決?問題如下 # L5 A6 O: {1 V8 |" @: d# d [: 113: 64: unexpected operator 4 w/ l4 o, M/ T7 G& j! h/opt/EDA/nanosim/cur/linux/ns/bin//scripts/nanosim: 1: Syntax error: Unterminated quoted string 9 I6 \* D6 c' B8 u! p' J有大大遇過這方面的問題或是指導我方向去解決, 謝謝. 8 A" n7 o& B0 _2 q1 G3 T$ }. E
我在猜可能是這個檔案內的文字需要修改 但不知道該如何修改?. S A. x% c: j
以下為/opt/EDA/nanosim/cur/linux/ns/bin//scripts/nanosim 的檔案內容:) `% X6 ^$ Q" F M. c
#!/bin/sh/ D! L F# v; s2 q0 g$ L& c/ x
# 1 o# c6 C2 i* `! t2 l2 Z# Copyright (C) 2001 Synopsys INC ) _, C1 @3 i8 i* P# EPIC Dynamic Simulation Wrapper (DSW) ]7 r1 z- S) G: E# X2 t& ]+ }$ H# 7 R% Q8 e0 X- I) B5 U$ Z+ Heval ${DBG_EPIC_WRAPPER:+"set -x"} % o+ x) {! R3 j; t" y2 e+ W ! S# i# N: n8 c9 `3 q7 K4 Wif [ "$EPIC_WRAPPER_DVLP" = "" ]; then : Y( |2 C& @8 L% h; d8 \ TEMP_ARCH="$SES_ARCH" 0 u0 z, q8 W6 b0 s! Ielse& d1 J) O: q6 C# _, B2 R. A0 X* x
TEMP_ARCH="$EPIC_ARCH" : k3 y7 C1 @6 }2 o" f" U. K( Afi 5 x) N( C4 g" d) ~" k8 q0 f5 r1 {- J- R) U8 e0 @
scan_for_hva_args()8 c# x" [+ o; F, r- e
{ / i$ {4 V0 ]$ G /bin/rm -f hva.init 1>&2; A9 _8 Y5 {7 H% K7 n
while [ $# -gt 0 ]; do - M+ G$ |3 x/ @) O( |3 B2 @" m case "$1" in V0 P/ j' [$ A1 N9 _1 w -vaf)* h" g/ a: P+ u y$ R2 E* o- f
have_vaf_flag=11 j# r- K+ N' Q2 L7 f
have_va_flag=01 V2 a. |9 B9 R4 r" _7 i* T
shift; . k M+ v: v. c7 m continue; % h8 S/ e6 n/ H N6 f9 K* b ;;! p1 |" q. b, |6 F' b
-va)4 _! [- C3 I$ v0 |
have_va_flag=1 " z3 k4 v3 r0 Q have_vaf_flag=0: C9 E/ U" g, [1 N
shift; 9 Q! v4 `% o4 a& V( L. ? continue;) |0 Y; x) C ]1 P
;;' j) v' D2 i* ?' [
-*) ! [6 }: q1 j5 B ARGV="$ARGV $1" : H% n8 _2 @- f/ @7 K have_va_flag=0$ G. _3 M! S/ N
have_vaf_flag=0 6 _" e" |. \# g9 w: f shift; + @9 G+ \1 t% x+ @ ~ e continue; % ^& J2 I( h( ~ m* S ;;* X" Q9 _+ w2 }2 ~
*) : \& `# l$ X" ~# r/ J if [ x"$have_va_flag" = x"1" ] ; then ! Z7 f4 ^ v: g" O4 V( F VA_FILE="$VA_FILE $1" # P" }1 Q1 Y' y! Z% a; w# e elif [ x"$have_vaf_flag" = x"1" ] ; then * z1 b' B' N* O9 ~% q
X="`cat $1 | sed -e '/\;/d;`" 6 c8 N" L- @$ y4 c8 L for token in ${X}; do% k* A t5 J7 u
VA_FILE="$VA_FILE $token" : `/ b* d7 @! \% B+ p, d. { done : Q+ S4 m+ \1 Q4 d else , d$ s' u8 J2 T% h* L ~* N ARGV="$ARGV $1"% t4 y+ F% @. A! p* c
fi 2 g, j3 @( f6 |1 S r shift; 2 T% j) x7 D% N4 z: t9 _ ;; ; g" ?; q; D9 d esac2 r u: {, T# B/ |" q7 a/ B
done ) B3 f" Q% o% r( O" F2 \2 w8 U& T 1 Z3 |/ O' I4 W+ k2 l6 w# H if [ x"$VA_FILE" != x"" ] ; then ' z! i* F* b- R w
## /bin/echo " xxx ARGV $ARGV" , x8 r$ w8 _" Z% D4 |) V" X) t; a6 B /bin/echo "choose nanosim $ARGV ;" > hva.init 1 P1 E) G* _% g& l. }9 [ echo vcs +ad=hva.init $VA_FILE -o simv- B `0 Q9 V; g& h4 P9 m, o
vcs +ad=hva.init $VA_FILE -o simv q3 b5 y3 c: I, {* Q' ?* Z exe_status=$? ( C3 N7 M. A' k, {( L4 I# h if [ $exe_status != 100 ]; then 7 `" h0 L' Y) ]" V /bin/echo "" , Y' h0 k1 n9 q1 V: e+ u/ y /bin/echo "ERROR: Execution of vcs exited with code $exe_status" 7 y" Q* e w) ], | /bin/echo "" 7 d7 M7 o, N0 w+ Y; U" s" x' O exit $exe_status# ~: h, o" D6 i h% H0 d, S$ D
fi; F, r. [% A/ j1 }, l* R
hva_files="-n simv.daidir/amsVD.ntl simv.daidir/amsWRAP.spi"& A7 D; B: f! F0 b
ARGV="$ARGV $hva_files" - c! D9 w0 |% Z8 A" `5 ~ fi / R( a: z3 X% J2 q" [" O- J}( O$ L! L. P: @: p! m
#------------------------------------------------------------------------- ) c" w5 i6 j" K, q: b8 h+ T 3 \* b& M2 s$ ?2 C" Acleanup()" {/ \( i- u% n" d
{) B6 J6 U8 c- t; P9 a9 J1 l
if [ -d "$rundir" ]; then $ D. E" M2 x2 ?9 o # On AIX, a .nfsXXX file is created if libModel.o is removed7 ^& |7 G7 l# n
# so .epicrun is not removed because directory is not empty. # C B# V0 _ H$ A4 {( E # Solution is to remove it again if the first rm failed 7 D7 I# ~& s+ l # (rm -rf $rundir || rm -rf $rundir) 1> /dev/null 2>&1: H& S [) ?/ W# X
if [ "$EXTRA_CAPACITY" = "YES" ]; then / X+ w" w A, b. E chmod u+x $rundir/rpcidfile 9 \6 n- A% c) L3 h $rundir/rpcidfile 9 U/ p% T. R) l4 y, @8 e rm $rundir/rpcidfile : r1 d' U N- G& o! b fi3 Z" m9 Y0 l. {# ^$ i" S
rm -rf $rundir + i, L" L; g B3 F/ C# R' E8 Y$ t% B a
#Due to NFS problem, we have to copy files needed to- Y: R( T. ~% [8 L7 ]
#/tmp/<temporary directory>, then symlink's files ; s+ U% I) @# x3 n4 _$ @ #to the local temporary 'rundir'. This avoids the problem 3 O& b0 I* A+ I' t7 l #to remove 'rundir': d8 P" z, j9 j& }% u2 S5 p. N
if [ "$EPIC_ARCH" = "RS6000_AIX_4" -o "$EPIC_ARCH" = "RS6000_AIX_5" -o "$EPIC_ARCH" = "aix64" ]; then5 H# k% z+ s. n/ e
if [ -d "$tdir" ]; then # x9 O X. O- {9 ?- H) y& } rm -rf $tdir : b& q W9 ?. O fi& A* X9 G- @" K. B+ m+ [
fi' N' }- Y& s1 W& H
fi ( c& t( t; \: ?. r! r: F if [ ${exitstatus:-0} -eq $ld_err_code ]; then 0 J" U/ r! t# h- ~0 ^ [ "$has_model" = "YES" ] && rm -f $cwd/libModel$suffix1 L8 P6 X$ V7 M9 Z& b- K" ]+ d. _
[ "$has_custom" = "YES" ] && rm -f $cwd/libCustom$suffix4 r# R ~# y( `* ^; Z/ e _
fi8 Z& c( O6 G+ L! m/ ^
[ -f "$EPIC_SCRIPT_MESSAGES_FILE" ] && rm -f $EPIC_SCRIPT_MESSAGES_FILE 1>&2" U" H$ Q3 o+ b9 _
exit ${exitstatus:-0}2 o$ S- y6 _3 b
} . i R n/ y) }# l5 k* x/ T: X; l! h/ L8 a j1 K% Z. k
Exit()4 e" Y7 ^. E- y2 o; F5 @
{ 1 A; ^9 b5 p( U exitstatus=$1$ d5 _. X( D+ I. v
exit $exitstatus2 j7 i! {* [& ?4 C
}2 B* r* u, k/ @: m. d/ x+ S# |
" x* f$ x3 N6 J. [
# get_epicrc filename keyword ! R/ ^& d* P0 \/ U/ m7 f. Iget_epicrc() 6 \6 t5 I& U Z% X' @{; C% b. p1 c* e3 i/ V& k% a
[ -f $1 ] || exit 02 t5 R6 C+ ~1 w6 O( @' d
key="/^$cmd2:/{print \$3}"/ n% Q p" [8 C) n( p) U# C
awk -F":" "$key" $1 ^. e( Q/ w# H5 L$ s J
}9 C. y) ?; a/ c# u
: U# Z; R W7 R: c. w#; |2 n3 o( L/ T+ j* D( a" L
# set datasize limit to hardlimit6 e% T ~# [8 b$ A# R- ^
#7 f; p8 U# z; B
set_data_limit()$ }9 F' C2 b5 M; e0 {
{ : [2 i. [4 j3 p dbglimit=0 ; z8 Z3 v: ]6 C Z7 v hardlimit=`ulimit -Hd` 2 v- {9 s' a- a9 _/ N% D" R5 | softlimit=`ulimit -d`! u1 f6 v$ {' R3 \* v9 X
desiredlimit=3500000 0 \% l/ z& w% N6 }& _3 _( d% O) t' } hardisunlimited=0+ O0 W4 f& m6 x
softisunlimited=04 R$ g. S1 x5 ], Q, \* s" @2 y
is64=09 A- x% ]8 D: c. } h3 V5 Z
, D1 G$ A/ E1 Z5 s% _/ }% W
case "$EPIC_ARCH" in 5 H: z* K7 x6 ]% y *SUN*64)1 `2 N$ x. l& @- l" s
is64=1 - k3 e7 p5 l* e( u9 D ;;! N8 u/ D% |8 q
amd64) , I$ G9 |7 B4 s" q; [ is64=1 6 n0 h/ E. v. f# Y$ I ;;5 K) e, D4 I6 i, O2 F
x86sol64) : q* f$ e# b4 I3 [9 G& |6 h is64=1: o9 n/ ]0 k! } j+ I# N* Q$ q
;; ) I( U% D# U P( m! M5 u0 X W& E4 j3 G aix64): F; }1 x% {+ h
is64=1 . s8 U1 R0 K* i ;; % \; I8 K* G( J6 D suse64)% [) x% S% d+ h0 z) ~! r# X
is64=1+ b: Q4 M+ x& Z. {
;;$ ^2 v \& E+ F) M! b
esac . h. N: A) X% i & ^/ r6 I% ]4 c' ^! T if [ $dbglimit -eq 1 ]; then2 V0 D9 ?% y$ j
echo hard $hardlimit soft $softlimit 1 {* z8 J: b U5 p) {; w' i fi3 @- R5 h- ~, F& ~5 I
/ {4 e: k1 Y5 l. J' e if [ x$softlimit = "xunlimited" ]; then& n8 X9 Q8 ^/ v% S$ H+ J
softisunlimited=1 / I( Z- _+ D9 L3 l- a# i* K3 o z fi * h+ B! {3 C) `# I! l: H0 l * }% _) C/ A# J1 M% d! m! M2 w4 b if [ x$hardlimit = "xunlimited" ]; then1 c2 v- y4 ?6 V& i
hardisunlimited=1$ l l- s/ `5 [! U( O+ Y
fi $ J+ c" \8 q) Y; l# m8 v/ K4 V; U3 \
# 64 bit machine should have bigger than 4G 8 _+ P- z1 J. E2 b1 [; j if [ $is64 -eq 1 ]; then # f; K. B9 e" N4 \ desiredlimit=5000000 $ P: W6 _" h7 b( M7 X: N fi 4 w! }" S/ k3 R) K. j3 K5 w9 L% @6 W& x6 R2 C2 N. x
if [ $hardisunlimited -eq 0 ]; then& T; I: D5 R# O# ~; I1 u0 y+ f9 _
if [ $hardlimit -lt $desiredlimit ]; then |( }6 B$ K3 H. ^* f) X& `3 y; s
echo "WARNING: datasize hard limit $hardlimit K is too small.") b# W) w; ~/ G2 b
fi 2 i9 e0 _6 k, E$ `7 N fi / M3 _8 d0 D0 i6 Y) ~1 e 6 E1 J3 A! y& L5 W# U- C, ^ if [ $hardlimit != $softlimit ]; then, y, e: z0 C: \. B9 a& g5 H
ulimit -Sd $hardlimit0 \7 D( l& {+ @( N( p0 `+ z5 [
# echo "WARNING: datasize limit is set to `ulimit -Sd`" - V, o3 {4 e# B7 _ fi + {% Y& [& P( L7 M3 ?7 I/ D6 [- v$ `9 `$ [+ R, o7 U }
if [ $dbglimit -eq 1 ]; then$ Q) ~, Y4 a8 [% o/ u) W
echo datasize hard limit: `ulimit -Hd`3 m9 _1 e/ c V' v/ r# X. ~/ \
echo datasize soft limit: `ulimit -d` ( y& I V: P6 Q5 K% E' X fi8 k* r" m& ~; I; N: G
} # [, {6 g' ~# G( L+ q/ ?( ] 1 {1 L2 Q* V3 ^+ m# ) x8 F; _% n! }/ Q, P" U# set stacksize limit to desired limit % f* o$ |/ \: b: F9 P2 G& s#- x8 m$ \, ]$ Y% r4 d& c
set_stack_limit() - A4 ], Y* q6 y{& c% R/ k7 R! W7 Y# N4 G8 f- |/ i0 o
dbglimit=07 b# @6 G* p+ m8 [1 |- C+ L) a0 _
hardlimit=`ulimit -Hs`5 B. j! F4 ?& J; V( i- u
softlimit=`ulimit -s`5 s. c% R# [! C8 ?) M( _
desiredlimit=60000 " ^5 k: |" v# | L" o" M hardisunlimited=0 + C1 w) x& L) }8 w softisunlimited=00 n* r5 H8 C- {( ~ p0 |- p
is64=0 4 O) o# c' F' e% n; U" i# t5 r7 Y
case "$EPIC_ARCH" in3 K& C* c& [6 G1 V
*SUN*64) / ?+ T/ n4 C: T4 c' O Z0 P9 t is64=18 J1 u9 l) z* {6 \$ R4 C
;;8 g9 ]) d2 o1 ^8 Z0 j# J
amd64) B: K. j' U' i- }- J; y
is64=11 V# A3 ]4 r, \ `
;; 2 W" K" Z8 }, G5 D5 X9 v) Z8 T x86sol64)! }: D9 d! t# C; Y" P0 t! l# n
is64=1) T) i$ _) F9 W! l* A
;; . X" K& v- T) Z& y' o$ P; K aix64) 9 x% U* m$ l6 ^* p/ M is64=1 . l# \! j$ s1 c) b- w ;;4 B6 W3 [- x, l- Z. }
suse64)$ p; U: |+ C- M
is64=1 ' y4 \) x! n7 y* \# _* P ;;3 Q$ G3 p$ M; C: Q
esac 8 m! I/ V7 u }7 ] F0 n7 }9 m % ^- e" F' U& M* I' ^" }9 Pif [ "$EPIC_WRAPPER_DVLP" = "" ]; then ) f1 V* g5 q" E" E if [ $is64 -eq 1 ]; then4 u* S4 T3 `' F2 p9 N" D6 D
desiredlimit=2000005 @+ [4 f _# h) {" V$ x
fi- o9 _9 W- w) M7 n# n4 N+ N
else3 Y5 F* T& {4 e6 W! c* O
case "$EPIC_ARCH" in( w8 \0 C9 y0 \0 o6 ~1 u
*SUN*64)6 t/ x6 [" l$ t" h: c7 l2 B2 Z
desiredlimit=200000% i: Q. v; Q' C$ k% p; I
;; / t2 ^ m, i- m" R2 m( ?2 m9 H3 r2 G* c esac* x! r8 `, m$ h
fi3 h o! B$ Q/ y* o
6 L" H, Z2 T& b* C
if [ $dbglimit -eq 1 ]; then \) \4 J- H- u1 [ H
echo hard $hardlimit soft $softlimit! G+ @9 p6 j% @; |( Y& I1 u5 ?
fi. B. N I5 J; u! F0 ^' @- E
/ g+ p# Y7 C# V3 D" g( p #stacksize can not be unlimited, pick smaller number/ ^* F" S, a8 V0 u8 t
& Q0 V3 ^( O0 e4 V9 d; p) y4 O stacklimit=$desiredlimit ! q. {: ^ X& |) X9 h7 A. t# w! _- ]/ Q$ @
if [ x$hardlimit = "xunlimited" ]; then+ K" x9 _% g9 c& l" x9 y4 Q
hardisunlimited=17 h3 h/ x- ^9 L8 }7 h
fi $ R# ~+ E) Z" [$ N0 Y* j - T7 |: E; q( h7 n( O if [ x$softlimit = "xunlimited" ]; then1 Z+ i- { n( X1 B& R) R- Z
softisunlimited=1 * C% K2 d! V3 K, ^* x) K% s, N fi' A E! n2 p- ~+ k
* Z, S& E$ z4 e' |5 D% H% G6 p t' i8 V
if [ $hardisunlimited -eq 0 ]; then) ?! @0 h2 {' m" m+ p e5 _6 w
if [ $hardlimit -lt $desiredlimit ]; then 0 ?3 z% ]1 \( m% K- q5 o* k echo "WARNING: stacksize hard limit $hardlimit K is too small." * r9 f* w, a4 T b, {% q desiredlimit=$hardlimit 7 {) G, {# x8 x5 g y8 q& Q! }- [) l stacklimit=$desiredlimit ' ?; H" i Q" h2 C% W6 S fi+ o+ Y$ n% l9 m/ W- Q
fi 0 D# D6 S, H7 n: Q/ ^# {, c! F# d* m8 n
# desiredlimit is set to proper value (< hardlimit); j. e1 q- c. N1 |4 m0 j
8 S( M1 F" X: W* r) T4 h
if [ $softisunlimited -eq 0 ]; then 3 s# Z G3 L& X: c5 f" f if [ $softlimit -gt $desiredlimit ]; then 1 ? {* }3 D3 Z2 Z' L stacklimit=$softlimit ) \- p c( c2 r; l, p fi- p. x; J9 h( E; h
fi' q1 }5 L% x2 W7 _3 v9 }
* k. t# h8 y) {' j0 T& x$ _ if [ $softlimit != $stacklimit ]; then4 P" x4 L* r3 G. k/ x& M
ulimit -Ss $stacklimit8 H8 K1 i- `# M/ ]3 H+ k+ m3 o1 w2 n( u
# echo "WARNING: stacksize limit is set to `ulimit -Ss`" Q X+ I D) W5 L7 v
fi, }& X8 o+ T2 J# {) z0 c
7 S$ f8 f* M5 H
if [ $dbglimit -eq 1 ]; then ( }' m( G) h/ \- S echo stacksize hard limit: `ulimit -Hs`( e: t9 ~( d+ g0 S
echo stackize soft limit: `ulimit -s`: c8 [3 a% R9 w2 j% P2 O
fi4 a* F! h7 C j6 l3 F0 @7 f2 J' D
} + {) w2 N4 c) X2 ]/ x * b8 K* A! b# z0 A+ B+ J( v: Topen_epicscriptmessages()! t+ h$ Y' r+ c5 B p2 x
{$ Q/ B; j. @4 d$ Q) E4 ?
#generate temp ".epicscriptmessages" file based on pid 3 f% p" c: c- l7 ~ Y) wEPIC_SCRIPT_MESSAGES_FILE="$EPIC_SCRIPT_MESSAGES_FILE"$$; ?$ {# M% D4 J/ O0 I
if [ -f $EPIC_SCRIPT_MESSAGES_FILE ] , O( z W3 I9 z: ?; `. {, pthen 1 _% O; J% _4 l: O until [ ! -f $EPIC_SCRIPT_MESSAGES_FILE ]6 l0 S+ B5 D" r2 M: i) d, y v9 `
do3 u8 d& {' C Q% G
EPIC_SCRIPT_MESSAGES_FILE="$EPIC_SCRIPT_MESSAGES_FILE"$$ ) L+ x* `/ S3 O. m" T& l! G4 y done a3 b+ g! P1 L
fi# V" U9 U# m# Q3 l* L
5 ]) i }0 f, u' W
export EPIC_SCRIPT_MESSAGES_FILE ?. V) F7 F8 u2 x. m9 T; K- y9 |}6 w. t4 W% \1 c# n# t' o' \- f
~$ _" x6 t5 z, O/ a" P
, u4 d' G. H3 @7 O% F$ b
cmdname=`basename $0`5 H, y5 E% B4 S5 M$ y2 U
postgres="n" + X# \# b1 V% M0 ?/ ~. S1 Sostore="n" 6 s% X" X$ [6 L) ?gui="n", u& h$ N! z) }3 Y
databaseOn="n"( f+ I. v$ F u6 g! l
f_next=0 2 v- k ~9 l2 p" z( n. e jf_option="" * \- |& [0 U& h5 |( jo_next=0 4 G6 ?0 E! ]# U0 T1 i2 Z& ]" bo_option="" 7 x! v/ p- I$ LworkDir="" & D3 j! S7 Q9 G0 {8 X9 H/ JworkDir_next=05 x) z5 ?& ]/ ]4 i& ^
errFile="powrmill.err"8 D$ I- |7 G: r( K( }
win32flags=""8 U0 {- W V% @8 ^
ln_default="ln -s" % [1 S& v5 ]. I+ \) ~8 k- }6 g) o. Q2 O
har_hilo_file="" ; M) ], i% u; c% j3 p* qhave_har_flag=04 m( d/ K. Q* ]2 D
have_har_setup_flag=0 1 ^8 h- D5 V! }. c3 `# A) U6 Cis_special_har_run=0 6 F6 N5 x0 A: Y# ?/ a6 J2 `har_ofile_prefix=""3 }3 V- U* g6 t
$ u0 z- X# R6 j3 h' O* N- D2 bhave_va_flag=0( _9 T U% B! i" H
have_vaf_flag=0 ( e, [' F4 B) i* [" O3 D: yVAF_FILE=""8 c2 w1 e0 N' ^, y* s% ^5 y' D" [. z1 z, S
VA_FILE=""% x7 A# j) L% L3 M, ^
ARGV="" # I$ B2 P! K4 h1 E/ u 7 E$ }% s% x- Y. \9 G% e7 M$ z% }ORIGINAL_COMMAND_LINE=, e7 P! C) Y: r9 f$ K' Y) a1 [* J
LOOP_CTRL_FILE=".ns_ba_env"* v7 \. I+ q+ @
ALTER_HK_FILE=".alter_hkf"1 R& R7 W. M! N; e. O1 _9 Y
ALTER_COUNT_FILE=".alter_count"( l" q0 _' Y9 x& Y- w! t+ J' @
MONTE_IMG_FILE=".monte_img_f" 4 w9 _: |& [! P1 TMONTE_COUNT_FILE=".monte_count" % Q+ _3 Q; B& RMONTE_CFG_FILE=".monte_cfg" 4 G/ z l! g: N6 SEPIC_SCRIPT_MESSAGES_FILE=".epicscriptmessages" / B8 t1 T# v9 [1 G: w {6 K- d1 `$ ?: p4 c u% m
open_epicscriptmessages $@ ! u- o, v6 ~- l2 e- J/ i. f. V) d% }4 Z # C9 _5 h: G3 a7 B5 S2 C7 Yscan_for_hva_args $@ 3 _ |/ |! E5 K9 u8 R+ w& Z: e- x4 C( o- y& a" [ H- i
scan_for_har_args()% p" A: M: o9 P6 t
{ ) Z' W8 |- H5 ^$ D. o& S- K while [ $# -gt 0 ]; do7 a0 z4 D2 b5 H7 u+ }
case "$1" in $ X# {# n/ f! v2 c4 i& M6 Q -har)$ V# g! D, [4 C( V% V4 `
have_har_flag=1% s9 u8 @& b1 |
[ $# -gt 0 ] && shift+ j7 Z$ t0 E7 X: ` `) g% ]- u2 A
if [ $# -gt 0 -a `expr "$1" : '-.*'` -eq 0 ]; then8 V1 r& V6 E4 U: Y5 i; i+ q
har_hilo_file=$1 - C6 |: z3 ]5 b ^+ K7 R shift ' m0 B" v. m4 T! v8 e fi! g. C: w! i: B5 n
if [ $# -gt 0 -a `expr "$1" : '-.*'` -eq 0 ]; then }! s2 R2 [5 j) Q3 y
echo "Too many arguments to -har flag. Only one hilo file allowed." v2 t D8 o* l ?+ s- r' m$ R. y
exit 17 o. t% m) S+ B( n
fi& w/ ]. D/ r4 |" R- O
break' q$ S6 d2 X% |. L' D$ z2 R H' D+ [
;;5 n: e* k- E& g I
-har_setup)4 {: g; ^6 e/ l3 `6 V
have_har_setup_flag=1 $ ]8 o& B3 T; J5 f break , D' l* g" ]" C* \ ;;7 W& i* a6 e! {. ^
*) 2 s* A5 A7 U8 J1 k( J' { shift$ Z, ^- O' P! H1 |& R
;;$ x7 j$ ]% m+ @+ @
esac6 Z5 F( L) e3 f; h6 ?, l
done ; D# q. n$ Q/ t. k& l7 N+ O% K. j0 ^}7 i% g, Z/ R0 z; K
j: V n8 p( u8 i" R
scan_for_har_args $@ ' k/ ~# z4 G# |+ W& a8 ^6 j5 F* M! V- M
for argv in $@ ! k e& g/ _2 M. Z1 Q4 L0 Zdo% k' {7 i S7 W5 j+ z9 e! f1 @/ _
ORIGINAL_COMMAND_LINE="$ORIGINAL_COMMAND_LINE $argv": ~1 E# f9 S9 N+ Z6 h* y* W
if [ $argv = "-gadb" ]; then9 S; c; f. r# i& L
databaseOn="y" 9 f9 m; S8 r+ j7 G! W workDir_next=18 C# V! A9 a2 t( X' @# V
elif [ $workDir_next -eq 1 ]; then- X$ ?; E, G, K9 Z# F
workDir=$argv % K: N' J; N2 H0 D) Z- p7 d workDir_next=0 8 E% n5 B0 H+ y- }* K# }$ d1 W5 q elif [ $argv = "-ga" ]; then0 e5 h0 }' o4 w/ f
gui="y"+ r3 b+ g% b) k' a
elif [ $argv = "-f" ]; then _1 i! X9 W) ?6 u* e2 Q f_next=19 ?8 P: v4 n1 ?/ t: ]2 F) @
elif [ $f_next -eq 1 ]; then2 m& I7 v" h5 Q
f_option=$argv 9 b# T$ I% h% r8 P: z f_next=0 ) o. O9 d0 j* n7 g elif [ $argv = "-o" ]; then S# _/ k( m3 v3 t( Y; d1 _
o_next=1 # m o( e" N Y elif [ $o_next -eq 1 ]; then0 D8 R% P$ S: t0 ^7 K; a/ K
o_option=$argv ) x4 p3 Z5 R- `/ S3 h6 j7 Y( V o_next=0 9 y7 {6 S) B% E1 u4 a. e2 W fi 1 `( z. U W: A$ xdone ( H* v7 J' N) s+ }9 w3 Necho "Command line options: $ORIGINAL_COMMAND_LINE" > $EPIC_SCRIPT_MESSAGES_FILE * ^/ \) _- y' ]2 E
3 h) w: `! b# i/ h: h/ d
if [ $databaseOn = "y" -o $gui = "y" ]; then% n( }( ~* z; C9 t3 p
if [ $cmdname = "pathmill" ]; then # P0 b7 Q# A( [# L if [ "$EPIC_ARCH" = "SUN4_SUNOS_5" -o "$EPIC_ARCH" = "SUN4_SUNOS_5_64" ]; then0 G9 W; a# v+ t! [
ostore="y"8 h5 L) T, y0 D- b
postgres="n" 9 j& W6 G4 \( r0 t7 s8 i7 Q else . a6 t6 d4 d( ~$ f5 } echo "athmill GUI is supported on Solaris platforms only" 1>&2 * ~/ Z c# P. d7 _/ C
exit 6 X$ y- c; J5 H6 X) g fi" U0 [( _4 g/ M& J- z
else ' [- A/ C$ K" i- P postgres="y" 2 B ]1 H) Z7 J7 U; f3 J ostore="n" 3 p" W+ I. I L fi 9 V# a" P- @" _) ~% hfi7 @) Q k1 y( ^6 K' G1 M
- K+ `# M$ r4 ]6 O+ P$ z* _+ sif [ $gui = "y" ]; then# K& A6 k3 s! x# n% P
if [ $cmdname = "powrmill" ]; then6 u/ D( P. W3 P
pwga $@$ D+ Z F1 U2 v- x
exit 1 i" V, u% g' b+ u9 |! x fi ! Y; O8 J& w/ j & `1 m9 N+ ^% J" u- [ if [ $cmdname = "pathmill" ]; then ' c! D( Q& I2 X( K( M$ O if [ $ostore = "y" ]; then2 }7 E$ t3 o) C, ?- G
./pathfinder $@5 }& _( K) ] J; f% G- a% X
exit2 C6 L4 O% n) ^) g2 ?
elif [ $postgres = "y" ]; then. ~0 ~% {1 b0 X* d, r0 S
pmga $@ . J. ^. U/ `! D# i exit3 Q9 K1 G& W6 T. V
fi # |; X2 @9 Z; b/ X- o* [: x fi8 V$ K# R9 D7 n6 ^. z3 \& O1 B
fi+ L+ A& D% V' d+ a
- B0 W L5 l. n$ Iif [ $databaseOn = "y" ]; then 5 H* `* Z" c1 V i" A, T if [ $ostore = "y" ]; then9 p8 U3 h% Z8 l5 z: R3 }8 K8 W
if [ -z "$workDir" ]; then# l, h5 {% s; l) G. B+ p2 p( o W
echo "Error: Missing argument for -gadb option"4 ~! H% w5 }$ |9 L) p9 y
Exit 1 - o0 Q$ F4 p- f- Z* A4 b fi) ~5 C9 m( k3 R
fi - D4 @0 t1 e+ Y if [ $postgres = "y" ]; then 5 e9 g0 Q9 u! n- D& P" T: U if [ -z "$workDir" ]; then- T4 @9 v3 h, a9 r% M
echo "Error: Missing argument for -gadb option"1 [1 w$ H& r; k$ y
Exit 1 . D- x" ~- i) l( g0 S fi $ Q9 Z- J( o+ k% m3 H fi. I6 A9 q* I2 D) Y
fi 2 T7 x" T: g D3 w2 X$ ^6 b 9 _! }7 T# j# x2 W: m% jif [ $postgres = "y" ]; then- J9 _* \2 a8 Y* X# w8 N
# K7 |5 _6 v, o& ~ if [ -r $EPIC_BIN/scripts/gui-init ]; then [1 g: K. _' b; G" u z: K$ x
. $EPIC_BIN/scripts/gui-init8 t6 }+ N% U( E
elif [ -r $SES_ROOT/bin/scripts/gui-init ]; then k/ h& T& Z9 p' j N5 z
. $SES_ROOT/bin/scripts/gui-init9 f* R) i+ J/ F/ L
else' A% `$ J! q; w6 q8 t6 R
echo " ** Installation in \"$EPIC_HOME\" has been corrupted!" 1>&2 2 J% l' ^9 N' B- e echo " file bin/scripts/gui-init is missing." 1>&27 |& i" h. ]& Y- ]" P
fi- k0 c; Y1 A/ j/ b+ H2 J$ {$ N