我没有任何编写 .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
.