这个csh文件有什么问题吗?

这个csh文件有什么问题吗?

我没有任何编写 .sh 文件的经验。我想运行 pvm2raw 实用程序这个应用程序来自卷库

在 Ubuntu 10.10 中运行 build.sh 时出现以下错误。

在此输入图像描述

build.sh如下:

# make command
set mmfile=V3Makefile
set make="make -f $mmfile"

set rule=$1
if ($rule == "") set rule="all" // line 16

if ($rule == "deps") then
   if ($HOSTTYPE == "iris4d") $make MAKEDEPEND="CC -M" OPTS="-DHAVE_CONFIG_H -DVIEWER_HAVE_DCMTK" TARGET=IRIX depend
   if ($HOSTTYPE == "i386") $make MAKEDEPEND="c++ -M -I/usr/X11R6/include" OPTS="-DHAVE_CONFIG_H -DVIEWER_HAVE_DCMTK" TARGET=LINUX depend

那里出了什么问题?

编辑:我按照 jw013 的建议安装了 csh。现在我收到以下错误:

在此输入图像描述

如何解决这个未定义变量的问题?

答案1

该脚本声明为

#!/bin/csh -f

语法也与 的语法匹配csh。你正在运行它

sh build.sh

由于csh与 Bourne 和 POSIX 都不兼容sh,因此不匹配会导致大量语法错误。正确的跑步方法build.sh

csh build.sh

或者通过使其可执行 ( chmod +x build.sh) 并直接运行它,让系统根据 shebang ( #!) 行选择正确的解释器:

./build.sh 

(假设它在您当前的目录中)。

HOSTTYPE变量仅定义在tcsh,这是 csh 实现之一。如果csh您的计算机上有其他 csh 实现,请确保安装 tcsh,然后运行

tcsh build.sh

或将脚本的第一行更改为#!/bin/tcsh -f.

相关内容