簡體   English   中英

在Red Hat Linux Apache Server腳本中識別錯誤並查找變量的值

[英]Identifying error and finding the value of a variable in Red Hat Linux Apache Server script

我是Red Hat菜鳥。 我的Apache服務器無法正常工作。 當我打開錯誤日志時,我唯一看到的是“ / usr / binall / SSFEXISTS:第52行:不是tty:沒有這樣的文件或目錄”

我進行了一些研究,發現SSFEXISTS是一個腳本,供我們公司使用的非常老的軟件使用。 我試圖弄清楚為什么它會輸出錯誤。

  1. 該錯誤可能來自腳本的哪一部分?

  2. 如何找到變量$ CPSICWDATE的值。 它在哪里定義? 有什么辦法可以讓它回顯值嗎?

謝謝你的幫助!

# Date created............: 8/24/95
# Last modification.......: 11-8-01 - added -PC option
#                           Now returns FOUND/NOT FOUND/DONT KNOW (if old cw)
# Purpose.................: Returns "FOUND" if the file exists "NOT FOUND"
#                           if it doesn't.

RET=0

TTY=`tty`
OLDSTTY=`stty -g 2>/dev/null`
trap 'stty $OLDSTTY <$TTY >/dev/null 2>&1;exit $RET' 0 2 3

CheckForPCFile()
{
  if [ $CPSICWDATE -gt 990947 ]
  then

    # loop until received Special End of Doc Code
   stty icrnl -clocal ixon -ixoff -ixany -opost -echo -isig icanon eof 
________________________________________
   <$TTY 2>/dev/null
    awk 'BEGIN {printf("%c%c%s%c%c", 235,188,"'"$1"'",188,235);}' >$TTY
   while [ "$x" != FILEEXISTSYES ] && [ "$x" != FILEEXISTSNO ]
  do
    read x
  done
stty $OLDSTTY <$TTY 2>/dev/null
if [ "$x" = FILEEXISTSYES ] 
 then 
  echo FOUND
 else
  echo "NOT FOUND"
  RET=1
fi 
 else
echo "DONT KNOW"
RET=2
  fi
}

case "$1" in
  -[Pp][Cc]) CheckForPCFile "$2" ;;
      *) if [ -f "$1" ]
          then
            echo FOUND 
           else
            echo "NOT FOUND "
            RET=3
         fi ;;
esac
exit $RET   **NOTE:  This is line 52**
  1. 該錯誤歸因於此行:

trap 'stty $OLDSTTY <$TTY >/dev/null 2>&1;exit $RET' 0 2 3

它設置了一個在腳本退出時運行的stty命令,它在第52行上執行。

  1. 您可以使用以下命令打印錯誤日志的值:

echo >&2 "The value of CPSICWDATE is $CPSICWDATE."

該腳本正在輸出錯誤,因為它不是要從Web服務器運行的。 它希望在連接到看起來是某種舊系統的終端中運行,例如通過sshtelnet或撥號。 它本身不是致命的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM