我是Red Hat noob。我的Apache服务器无法运行。当我打开错误日志时,我唯一看到的是" / usr / binall / SSFEXISTS:第52行:不是tty:没有这样的文件或目录"
我做了一些研究,发现SSFEXISTS是我们公司使用的一个非常古老的软件使用的脚本。我试图找出它输出错误的原因。
该错误的哪一部分可能来自?
如何找到变量$ 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**
答案 0 :(得分:0)
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
或拨号。它本身并不致命。