この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実装の1つです。cshコンピュータに他のcsh実装がある場合は、tcshがインストールされていることを確認してから、次の手順を実行します。

tcsh build.sh

またはスクリプトの最初の行を#!/bin/tcsh -f

おすすめ記事