探究GP系統運作,現將個人對GP系統中的各種Shell的理解解析如下,供參考!
所有說明都依 Topprod GP Server 正式區為例
說明:所有demo都依capt001為例
exe2:執行42r程式檔---------------------------------------------------
#demo:exe2 capt001 <topprod:/u1/topprod/tiptop> cd $CAP/4gl <topprod:/u1/topprod/topcust/cap/4gl> exe2 capt001 Execute program:capt001 INFO: TIPTOP GP System Exists 62 / 80 User(s) Online. <topprod:/u1/topprod/topcust/cap/4gl> INFO: Your Plant (SSTL_DX) is setting in GMT+8 time zone. INFO: 4st for Interface Level = /u1/topprod/tiptop/config/4st/tiptop.4st INFO: 4ad for Interface Level = /u1/topprod/tiptop/config/4ad/0/tiptop.4ad INFO: 4ad for Form Level = /u1/topprod/topcust/config/4ad/0/cap/capt001.4ad INFO: 4tm for Interface Level = /u1/topprod/tiptop/config/4tm/topmenu_t.4tm INFO: 4tb for Interface Level = /u1/topprod/tiptop/config/4tb/toolbar_t.4tb g_ui_setting : std INFO: Locale feature use 0.06674 seconds. A、exe2 路徑
$DS4GL/bin/exe2
B、exe2 Shell解析
###### # Run application whatever where you are ###### # Prompt how to work if [ "$1" = "" ] ; then #如果用戶光禿禿的exe2即該shell後面沒有其他任何位置參數,則提示如下信息,并退出Shell echo "Usage: exe2 prog_name\n" exit 1 fi PW=`pwd` #將pwd結果即當前路徑值賦給PW變數 # Change to temporary directory, and run the application #FGLLDPATH=$AWS/42m:$ABG/42m:$ADM/42m:$ROS/42m:$APS/42m:$AMM/42m:$ATY/42m:$ACO/42m:$APJ/42m:$ARM/42m:$AQC/42m:$AFA/42m:$AZZ/42m:$AOO/42m:$GPY/42m:$APY/42m:$ABX/42m:$AXS/42m:$ASD/42m:$AXC/42m:$GXM/42m:$AXM/42m:$GIS/42m:$GXR/42m:$AXR/42m:$AMD/42m:$GAP/42m:$AAP/42m:$GNM/42m:$ANM/42m:$GGL/42m:$AGL/42m:$ASM/42m:$CSF/42m:$ASF/42m:$AMR/42m:$AMS/42m:$CPM/42m:$APM/42m:$ACS/42m:$AEC/42m:$AIM/42m:$ABM/42m:$QRY/42m:$SUB/42m:$LIB/42m:$FGLDIR/lib:$FGLLDPATH;export FGLLDPATH #FGLLDPATH=../42m:$AZZ/42m:$LIB/42m:$SUB/42m:$QRY/42m:$FGLLDPATH;export FGLLDPATH FGLRUN=${FGLRUN:=fglrun};export FGLRUN #BUG-4C0168 cd $TEMPDIR echo '\033[?7h\c' #-- BUG-570157 ---------------------------------------------------------------- #一下while迴圈p_go執行exe2後面傳進來的4GL程式名稱 i=1 cmd="$FGLRUN $AZZ/42r/p_go.42r" while [ $i -le $# ] do eval arg=\${$i} cmd="${cmd} '${arg}'" #迴圈組字串$FGLRUN $AZZ/42r/p_go.42r ${arg} i=`expr $i + 1` #expr 用於整數+ - * / 運算 done eval $cmd #執行組好的字串 echo '\033[?7l\c' cd $PW注意:鼎新公司又沒有給$AZZ/42r/p_go此程式的原代碼喲!
-------------------- over, e