unix环境高级编程》源程序编译的讨论,编译成功、不成功的都请进!!!

yd614 2001-08-11 10:22:16
加精
我下载了《unix环境高级编程》源程序,是Stevens主页上推荐for Linux 6版本的。
我在Redhat 7.1上按readme的步骤编译。发现无法执行systype.sh,系统报告拒绝执行;后来给systype.sh加上可执行属性,系统报告“syntax error near unexpected token `/vmunix) '/systype.sh: line 10: `if (test -f /vmunix)”。
分析systype.sh,仅仅检测unix的版本。于是根据Makefile,直接编译“Make redhat60linux”,一切OK!
谁能解释一下执行systype.sh错误的问题?
...全文
147 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yd614 2001-08-17
  • 打赏
  • 举报
回复
谢谢大家!
dream4windcn 2001-08-14
  • 打赏
  • 举报
回复
把 then 和 if 所在的行合并
比如
if(test -f /vmunix) then
echo "(***)"
else
echo ......
fi
yd614 2001-08-13
  • 打赏
  • 举报
回复
第10行是 if (test -f /vmunix)
yd614 2001-08-13
  • 打赏
  • 举报
回复
# (leading space required for Xenix /bin/sh)

#
# Determine the type of *ix operating system that we're
# running on, and echo an appropriate value.
# This script is intended to be used in Makefiles.
# (This is a kludge. Gotta be a better way.)
#

if (test -f /vmunix)
then
if (test -f /usr/bin/sun)
then
echo "sun"
elif (test -f /bsd)
then
echo "bsdi"
else
echo "bsd"
fi
elif (test -f /xenix)
then
echo "xenix"
elif (test -f /boot/vmlinuz) #th
then #th
echo "redhat60linux" #th
elif (test -d /proc)
then
echo "svr4"
elif (test -f /etc/lddrv)
then
echo "non_rh_unixpc" #th
fi
h_falls 2001-08-13
  • 打赏
  • 举报
回复
你根目录(/ 目录)下有vmunix这个文件吗?
没有的话当然不行

你把第10行贴出来看看
qb_zhm 2001-08-12
  • 打赏
  • 举报
回复
er

19,615

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧