From 5f23325fac7ec9d0de3acd69071d7115f7534ec9 Mon Sep 17 00:00:00 2001 From: Alawn Date: Thu, 9 Apr 2020 16:29:22 +0800 Subject: [PATCH] Optimize code; Make inject script temporay; New feature about 'Trace Logging' --- script/load | 69 ++++++++++++++++++++++++++++++++--------------------- 1 file changed, 42 insertions(+), 27 deletions(-) diff --git a/script/load b/script/load index ac2e0ee..f91a9d7 100755 --- a/script/load +++ b/script/load @@ -127,7 +127,7 @@ main_menu() done } -create_initrc() +initrc() { if [ ! -f ${initrc} ]; then cat > ${initrc} < ${inject_script} -spawn /usr/bin/env ${usr_sh} -send ". ${initrc}\n" -interact -EOF - fi - -} - inject() { + cmd=$* + ## Define environment variable and it can be inherited into sub shell export HOME=${base_home}/${cur_app} export HWORKDIR=$HOME export LOGNAME=$cur_app ## Create RC file if it not exists - create_initrc + initrc - ## Create expect script if it not exists - create_inject_script + ## Create expect script temporary + script=`mktemp` + + cat < ${script} +spawn /usr/bin/env ${usr_sh} --norc +send ". ${initrc}\n" +EOF + + if [ $# -ge 1 ]; then + cat <> ${script} +send "source <(cat <> ${script} +interact +EOF ## Execute expect script for app as interact mode - expect ${inject_script} - + expect ${script} + ## Recover $HOME environment after sub shell has been logout export HOME=${base_home} } @@ -223,9 +228,10 @@ function_menu() echo -e $title echo -e "----------------------------------------------" echo -e "" - echo -e "${green}1${plain}) Startup/Restart" - echo -e "${green}2${plain}) Shutdown" - echo -e "${green}3${plain}) Login" + echo -e "${green}1${plain}) Login" + echo -e "${green}2${plain}) Startup/Restart" + echo -e "${green}3${plain}) Shutdown" + echo -e "${green}4${plain}) Trace Logging" echo -e "" echo -e "${green}b${plain}) Go back" echo -e "" @@ -234,6 +240,12 @@ function_menu() [ -z "${selected}" ] && selected="status" case "${selected}" in 1) + ## Login as application user + echo -e "${green}1${plain}) 进入系统" + inject + break + ;; + 2) ## Startup Application module_name=${module_map["${cur_app}"]} profile_app="" @@ -257,8 +269,8 @@ function_menu() echo -e "" && read -s -n1 -p "Press any key continue..." break ;; - 2) - ## Stop application + 3) + ## Shutdown application clear echo -e "" echo -e "${blue}>> Now beginning kill the application with PID:${pid}...${plain}" @@ -282,10 +294,13 @@ function_menu() break ;; - 3) - ## Login as application user - echo -e "${green}1${plain}) 进入系统" - inject + 4) + ## Trace logging + echo -e "${blue}>> Trace logging...${plain}" + echo -e "" + #tail -f ${base_home}/${cur_app}/log/${cur_app}.out + cmd="tail -f ${base_home}/${cur_app}/log/${cur_app}.out" + inject ${cmd} break ;; b|q)