이 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

cshBourne 및 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.

관련 정보