linux - 在 Red Hat Linux Apache Server 脚本中识别错误并查找变量的值

标签 linux apache redhat

我是红帽菜鸟。我的 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 行执行。

  • 您可以使用以下命令打印错误日志的值:
  • echo >&2 "The value of CPSICWDATE is $CPSICWDATE."

    该脚本输出错误,因为它不应该从 Web 服务器运行。它期望在连接到某种遗留系统的终端中运行,例如通过ssh , telnet或拨号。它本身并不致命。

    关于linux - 在 Red Hat Linux Apache Server 脚本中识别错误并查找变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31521118/

    相关文章:

    linux - 过去 15 分钟创建的 Tar 文件并将它们 SCP 到我的本地计算机。 (使用 Cygwin)

    linux - 红帽 6.4 上的 Datastax Enterprise 5.0.0

    linux - 有关文件权限和用户权限的 vftpd 问题

    在c中为shell创建后台进程

    java - Luke - 当前位置没有有效的目录

    java - tomcat没有显示在eclipse中

    tomcat - 为什么在 RedHat 上默认安装的 Tomcat 会在整个文件系统中 split 目录?

    c - 当线程处于 sleep 状态并且需要优雅地关闭时,使用 pthread_join、pthread_exit 或 pthread_cancel 做什么?

    linux - 在 linux 系统上的 X86 体系结构的程序集中测试 db "Hello world"是什么意思

    apache - mod_ajp_proxy 配置和 session 粘性