【Tiptop ERP T】Tiptop GP 系統中關於Linux Shell的那些事

一、什麽是Shell

主要作用:
讀取輸入并解析命令行、替換字符比如通配符和歷史命令、設置管道、

重定向和後臺處理、處理信號、程序執行的相關設置、設置搜索路徑、權限......

二、GP Unix啟動與Shell程序的載入
1、首先得知道本機上已經有哪些版本的Shell可用(Linux)
$ cat /etc/shell
#個人在HP-UNIX上的GP Server上沒有找到這個配置文件

#可以看看/bin目錄下到底是哪個Shell【shell一般以sh結尾】
2、系統啟動過程中Shell程式的載入

啟動過程中最重要的3個配置文件:/etc/passwd 、/etc/profile、/user路徑/.profile
A:/etc/passwd #該文件只有root用戶具有w權喲!
<topprod:/etc> cat -n passwd

本伺服器:所有UNIX系統ID=0的是給root用戶,GP Server:GID=109(mis)、GID=108(tiptop)

B:你知道爲什麽GP Server用戶登錄進去后爲什麽一直是echo如下的信息↓

而如果你自己裝一個Unix/Linux系統登錄后只是console上單純的一行命令行提示輸入符號?

這就要看看2個配置文件/etc/profile 及/u1/usr/用戶ID/.profile(ID表示Linux操作系統你的用戶帳號ID)
a、/etc/profile:該文件主要設置一些OS級別的相關配置,如PATH、ENV、UMASK......
b、Shell啟動后最初讀取/etc/profile文件,執行完後

依/etc/passwd當前用戶中的UserDir中去找該用戶的配置文件,如果存在則繼續讀取該文件并執行
GP Server該文件是隱藏的,你可以 ll -a 這樣查看隱藏文件

<topprod:/u1/usr/terry> ll -a <topprod:/u1/usr/terry> cat .profile echo "Please Select (1)topprod (2)toptest (3)topstd [2]:\c" #控制台上顯示信息:Please Select (1)topprod (2)toptest echo "" #控制台上顯示一行空白 read ans #等待用戶輸入選擇,將輸入讀入變數ans中 case $ans in #case 處理 用戶的選擇 1) . /u1/usr/profile/profile.topprod #選擇1:執行 /u1/usr/profile/profile.topprod文件 ;; #case 的語法是每個選擇后以2個 ;; 結束該選擇 2) . /u1/usr/profile/profile.toptest #選擇2:執行 /u1/usr/profile/profile.toptest文件 ;; 3) . /u1/usr/profile/profile.topstd #選擇3:執行 /u1/usr/profile/profile.topstd文件 ;; *) . /u1/usr/profile/profile.toptest #其它:執行 /u1/usr/profile/profile.toptest文件,即如果你亂選,系統會給你跳到測試區去 ;; esac #case 的語法結束,即case倒過來,其他也類似if...fi

以選擇1正式區為例看看 profile.topprod 文件

<topprod:/u1/usr/profile> cat profile.topprod umask 002 #設置該用戶創建文件默認權限為777-002=775,創建dir權限為666-002=664 #設置相關變數 # Oracle Environment ORACLE_SID=topprod;export ORACLE_SID #export命令是導入設置ok的變數,這些變數在GP的4GL程式碼中都會用到喲 #4GL中用CALL FGL_GETENV(variable STRING)RETURNING result語句得到這些設置好的變數 TOP=/u1/topprod/tiptop;export TOP TOPCONFIG=$TOP/config;export TOPCONFIG #For Customerize CUST=/u1/topprod/topcust;export CUST CUSTCONFIG=$CUST/config;export CUSTCONFIG DS4GL=$TOP/ds4gl2;export DS4GL #For Customerize PATH=.:$TOP/ora/bin:$TOP/work:$CUST/bin:$TOP/bin:$DS4GL/bin:$TOP/script:$PATH;export PATH CDPATH=.:$CUST:$TOP:$ORACLE_HOME;export CDPATH #For Customerize DBPATH=$CUST:$TOP;export DBPATH . $TOP/bin/tiptop_sys #執行topprod:/u1/topprod/tiptop/bin/tiptop_sys文件 #該文件設置這些GP變數,如標準APY、APYI..即GP系統中各個系統模組的目錄和42r目錄 . /u1/topprod/tiptop/bin/tiptop_env #同樣都是設置一些GP環境變數,如LANG、JAVA_HOME、ORACLE_HOME.. FGLASIP=$FGLASIP/cgi-bin/fglccgi/topprod; export FGLASIP CRIP=$CRIP/topprod/;export CRIP #Crystal report Server IP #For Customerize . $CUST/bin/cust_sys #執行topprod:/u1/topprod/tiptop/bin/cust_sys文件 #該文件設置這些GP變數,如客制CPY、CPYI.. TERMCAP=$TOP/bin/t.clr;export TERMCAP PS1='<topprod:$PWD> ';export PS1 #改變系統命令行提示符為<topprod:/u1/topprod/tiptop>,ksh默認的命令行的提示符為$ FGLDBPATH=$TOP/schema;export FGLDBPATH SQLPATH=.:$TOP/ora/scripts:$SQLPATH;export SQLPATH #一下10行代碼設置GP各個標準模組的42m檔路徑 cd $TOP sys=`ls -d a?? c?? g?? lib qry sub 2>/dev/null` #只列出a或c或g開頭且只有3個字符 和 lib qry sub的目錄(-d選項表示只查出目錄) #并將錯誤輸出寫入/dev/null文件中 for m in $sys #迴圈設置上面查出來的目錄的相應的42m路徑 { FGLLDPATH=$TOP/$m/42m:$FGLLDPATH } export FGLLDPATH #For Customerize #同上設置GP各個客制模組的42m檔路徑 cd $CUST custsys=`ls -d c?? c??? 2>/dev/null` for m in $custsys { FGLLDPATH=$CUST/$m/42m:$FGLLDPATH } export FGLLDPATH FGLLDPATH=$DS4GL/bin:$FGLLDPATH;export FGLLDPATH cd $TOP #設置完模組變數后返回GP系統標準區目錄 #一下13行取當前用戶登錄的設備及終端信息 stty intr stty erase stty -istrip tab3 -clocal echoe FGLIMAGEPATH=$TOP/doc/pic/easyflow; export FGLIMAGEPATH FGLPROFILE=$FGLDIR/etc/fglprofile.prod;export FGLPROFILE export FLMDIR=/u1/genero.flm #FGLSERVER=`who -mR | cut -d'(' -f2 | cut -d')' -f1`;export FGLSERVER dsc_tty=`/bin/tty` dsc_tty=`echo $dsc_tty | cut -d'/' -f3`/`echo $dsc_tty | cut -d'/' -f4` dsc_tty=`who -u | grep $dsc_tty` echo $dsc_tty export FGLSERVER=`echo $dsc_tty|awk '{print $8}'`:0 #一下9行代碼取得當前DVM的版本信息 echo "" echo "Current Genero DVM version ..." #這句就是登錄時控制臺上顯示的Current Genero DVM version ... echo "------------------------------------------------" $FGLRUN -V #調用4GL的FGLRUN指令執行后取得DVM版本信息 echo ' ' echo 'FGLGUI=0' echo ' '

======== Tiptop ERP GP Server 登錄過程解析就到這裡 ============

下次將會對與Tiptop ERP GP二次開發所涉及的

r.f2 :編譯4fd畫面檔,生成42f檔

r.gf:預覽編譯后的畫面檔,產生p_perlang的維護資料

r.c2:編譯4gl源碼檔,生成42m檔

r.l2:鏈結編譯后的4gl編譯檔42m,生成42r檔

r.d2+:debug模式執行42r檔

等HP-UNIX Shell的原理解析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值